Prinderea SQL injection și alte solicitări web rău intenționate

voturi
17

Caut un instrument care poate detecta cereri rău intenționate (cum ar fi evident injecție SQL devine sau posturi) și va interzice imediat adresa IP a solicitantului / adăuga la o listă neagră. Sunt conștient de faptul că într-o lume ideală codul nostru ar trebui să fie în măsură să se ocupe de astfel de solicitări și să le trateze în mod corespunzător, dar există o mulțime de valoare într-un astfel de instrument chiar și atunci când site-ul este sigur de la aceste tipuri de atacuri, deoarece poate duce la economisind lățime de bandă, prevenind bloat de Analytics, etc.

În mod ideal, eu sunt în căutarea unui cross-platform ( LAMP/.NETsoluție) , care se află la un nivel mai ridicat decât stiva de tehnologie; probabil la web-server sau la nivel de hardware. Nu sunt sigur dacă acesta există, totuși.

Oricum, aș vrea să aud feedback-ul comunității, astfel încât să pot vedea ce opțiuni am putea fi în ceea ce privește punerea în aplicare și de abordare.

Întrebat 04/08/2008 la 15:40
sursa de către utilizator
În alte limbi...                            


8 răspunsuri

voturi
10

Dvs. aproape uita la ea în mod greșit, nici un instrument 3party care nu este conștient de metode de aplicare / denumire / date / domeniul dvs. va va fi în măsură să vă protejeze perfect.

Ceva de genul prevenirea SQL injection este ceva care trebuie să fie în codul, și cel mai bine scrise de oameni care au scris SQL, deoarece ei sunt cei care vor ști ce ar trebui / should să fie în aceste domenii (cu excepția cazului în proiectul dumneavoastră are documente foarte bune )

Dreptul dvs., acest lucru totul a fost făcut înainte. Nu trebuie destul să reinventeze roata, dar nu trebuie să sculpteze unul nou, din cauza unei diferențe de diametre pe osie tuturor.

Aceasta nu este o picătură în și a alerga problemă, într-adevăr trebuie să fie familiarizați cu ceea ce exact SQL injection este înainte de a putea preveni. Este o problemă meschin, deci este nevoie de protecție în mod egal mascate.

Aceste 2 link-uri m-au învățat mult mai mult, atunci elementele de bază cu privire la acest subiect pentru a începe, și m-au ajutat fraza mai bine viitorul meu interogarile întrebări specifice cu privire la care nu s-a răspuns.

Și în timp ce acesta isnt destul de un căutător de 100%, acesta va „vă arăta lumina“ la problema în codul existent existent, dar, ca cu webstandards, dont a opri de codificare odată ce treci acest test.

Publicat 04/08/2008 la 16:43
sursa de către utilizator

voturi
5

Problema cu un instrument generic este că este foarte dificil de a veni cu un set de reguli care se vor potrivi numai împotriva unui atac autentic.

cuvinte cheie SQL sunt toate cuvintele din limba engleză, și nu uitați că șirul

 DROP TABLE users;

este perfect valabilă într-un câmp de formular care, de exemplu, conține un răspuns la o întrebare de programare.

Singura opțiune sensibilă este de a steriliza de intrare înainte de a trece vreodată la baza de date, dar trece-l pe toate acestea. În caz contrar, o mulțime de utilizatori perfect normale, non-malware vor obține interzis de pe site.

Publicat 04/08/2008 la 16:11
sursa de către utilizator

voturi
3

Oracle are un program de instruire on - line despre SQL Injection . Chiar dacă doriți o soluție gata preparată, acest lucru s - ar putea să vă dau câteva indicii despre cum să - l folosească mai bine să te aperi.

Publicat 05/08/2008 la 18:38
sursa de către utilizator

voturi
3

Un lucru mic pentru a păstra în minte: În unele țări (de exemplu, cea mai mare a Europei), oamenii nu au adrese IP statice, astfel încât să nu ar trebui să fie pe lista neagră pentru totdeauna.

Publicat 04/08/2008 la 16:22
sursa de către utilizator

voturi
3

O metodă care ar putea lucra pentru unele cazuri, ar fi de a lua șirul de sql, care ar fi dacă ați folosit în mod naiv datele din formular și trece-l la un cod care contorizează numărul de declarații care ar fi de fapt executate. În cazul în care este mai mare decât numărul de așteptat, atunci există o șansă decentă pe care o injecție a fost încercat, în special pentru domeniile care sunt puțin probabil să includă caractere de control, cum ar fi numele de utilizator.

Ceva de genul o casetă de text normal ar fi un pic mai greu, deoarece această metodă ar fi mult mai probabil să se întoarcă fals pozitive, dar acest lucru ar fi un început, cel puțin.

Publicat 04/08/2008 la 16:20
sursa de către utilizator

voturi
0

Interesant modul în care acest lucru este implementat de ani mai târziu, de către Google și le scoate URL toate împreună, în scopul de a preveni atacurile XSS și alte acitivites rău intenționate

Publicat 24/07/2014 la 06:18
sursa de către utilizator

voturi
0

Unul dintre site-urile mele a fost spart recent prin SQL Injection. Acesta a adăugat un link la un virus pentru fiecare câmp de text în db! Fix a fost de a adăuga un cod căutați cuvinte cheie SQL. Din fericire, am dezvoltat în ColdFiusion, astfel încât codul stă în fișierul meu Application.cfm care se execută la începutul fiecărei pagini web si se uita la toate variabilele URL. Wikipedia are unele legături bune pentru a ajuta prea.

Publicat 16/09/2008 la 15:04
sursa de către utilizator

voturi
0

Acum, că mă gândesc la asta, un filtru Bayesian similar cu cele utilizate pentru a bloca spam-ul ar putea să funcționeze decent prea. Dacă ai împreună un set de text normal pentru fiecare câmp și un set de injecții sql, ați putea fi capabil să-l antreneze la atacuri de injecție de pavilion.

Publicat 04/08/2008 la 16:26
sursa de către utilizator

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