Catching SQL injection i inne szkodliwe Wnioski sieci

głosy
17

Szukam narzędzie, które może wykryć złośliwe żądania (takie jak SQL injection dostaje oczywiste lub stanowisk) i natychmiast zakazać adres IP żądającego / dodać do czarnej listy. Zdaję sobie sprawę, że w idealnym świecie nasz kod powinien być w stanie obsłużyć takie wnioski i traktować je odpowiednio, ale istnieje wiele wartości w takim narzędziem, nawet jeśli witryna jest bezpieczna z tych rodzajów ataków, gdyż może to prowadzić do oszczędność pasma, zapobiegając uwędzić analityki, etc.

Idealnie szukam cross-platform ( LAMP/.NET) roztworu, który znajduje się na wyższym poziomie niż stosu technologicznego; być może na poziomie sprzętowym z serwera WWW lub. Nie jestem pewien, czy istnieje, choć.

Tak czy inaczej, chciałbym usłyszeć opinię społeczności tak, że mogę zobaczyć, co moje opcje mogą być w odniesieniu do wdrażania i podejścia.

Utwórz 04/08/2008 o 15:40
źródło użytkownik
W innych językach...                            


8 odpowiedzi

głosy
10

Twój niemal patrząc na to w niewłaściwy sposób, nie narzędzie 3party który nie jest świadomy swojej metody application / nazewnictwa / data / domenie będzie będzie w stanie doskonale cię chronić.

Coś jak zapobiegania SQL injection jest coś, co musi być w kodzie, a najlepiej napisane przez ludzi, którzy pisali SQL, ponieważ oni są tymi, którzy będą wiedzieli, co należy / nie powinno być w tych dziedzinach (chyba, że ​​projekt ma bardzo dobre docs )

Twoje prawo, to wszystko zostało zrobione wcześniej. Ty nie dość trzeba wyważać otwartych drzwi, ale trzeba rzeźbić nowego ze względu na różnice w każdym średnic osi.

To nie jest drop-in i uruchomić problemem, to naprawdę trzeba być zaznajomieni z tym, co dokładnie jest SQL injection, zanim będzie można go uniknąć. Jest to sprytne problemem, więc zajmuje równie podstępne zabezpieczenia.

Te 2 linki nauczył mnie o wiele więcej niż podstawy na ten temat, aby rozpocząć, i pomógł mi lepiej frazę moje przyszłe wyszukiwań na konkretne pytania, które nie zostały odebrane.

I choć ten isnt całkiem 100% finder, to będzie „pokazać światło” na istniejący problem w istniejącym kodzie, ale jak z webstandards dont zatrzymać kodowanie raz zdać ten test.

Odpowiedział 04/08/2008 o 16:43
źródło użytkownik

głosy
5

Problem ze standardowego narzędzia jest to, że bardzo trudno jest wymyślić zestaw reguł, które pasują tylko wobec prawdziwego ataku.

SQL wyszukiwane są wszystkie angielskie słowa, i nie zapomnij, że ciąg

 DROP TABLE users;

jest całkowicie poprawny w polu formularza że, na przykład, zawiera odpowiedź na pytanie programowania.

Jedynym sensownym rozwiązaniem jest, aby zdezynfekować wejście przed kiedykolwiek przekazaniem go do swojej bazy danych, ale przekazać je mimo wszystko. W przeciwnym razie wiele zupełnie normalne, bez szkodliwych użytkowników zamiar zbanowany ze swojej strony.

Odpowiedział 04/08/2008 o 16:11
źródło użytkownik

głosy
3

Oracle dostał samouczka online o SQL Injection . Nawet jeśli chcesz gotowe rozwiązanie, to może dać Ci kilka wskazówek, w jaki sposób używać go lepiej się bronić.

Odpowiedział 05/08/2008 o 18:38
źródło użytkownik

głosy
3

Jedna mała rzecz, aby pamiętać: W niektórych krajach (czyli większości krajów Europy), ludzie nie mają statyczne adresy IP, więc na czarnej liście nie powinno być zawsze.

Odpowiedział 04/08/2008 o 16:22
źródło użytkownik

głosy
3

Jedną z metod, która może działać w niektórych przypadkach byłoby wziąć sql ciąg znaków, który będzie prowadzony jeśli naiwnie używane dane formularza i przekazać ją do jakiegoś kodu, który zlicza liczbę sprawozdań, które faktycznie wykonane. Jeśli jest większa niż liczba oczekiwaniami, to istnieje spora szansa, że ​​zastrzyk próbowano, szczególnie na obszarach, które są mało prawdopodobne, aby to znaki sterujące, takie jak nazwa użytkownika.

Coś jak normalny polu tekstowym będzie nieco trudniejsze, ponieważ metoda ta byłaby o wiele bardziej prawdopodobne, aby powrócić fałszywych alarmów, ale to byłby początek, przynajmniej.

Odpowiedział 04/08/2008 o 16:20
źródło użytkownik

głosy
0

Ciekawe jak to jest realizowane lat później przez Google i ich usuwania URL razem w celu zapobiegania atakom XSS oraz inne szkodliwe acitivites

Odpowiedział 24/07/2014 o 06:18
źródło użytkownik

głosy
0

Jeden z moich stron została niedawno włamał się przez SQL Injection. Warto dodać link do wirusa dla każdego pola tekstowego w db! Rozwiązaniem było dodanie kodu SQL szuka słów kluczowych. Na szczęście, mam opracowane w ColdFiusion, więc kod siedzi w moim pliku Application.cfm który jest prowadzony na początku każdej strony i wygląda na wszystkich zmiennych URL. Wikipedia ma jakieś dobre linki, aby pomóc też.

Odpowiedział 16/09/2008 o 15:04
źródło użytkownik

głosy
0

Teraz, kiedy o tym myślę, a filtr Bayesa podobny do tych używanych do blokowania spamu może działać przyzwoicie zbyt. Jeśli masz ze sobą zestaw zwykły tekst dla każdego pola oraz zestaw SQL injection, może być w stanie trenować go na ataki wtrysku flag.

Odpowiedział 04/08/2008 o 16:26
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more