Catching SQL Injection og andre ondsinnede Forespørsler

stemmer
19

Jeg leter etter et verktøy som kan oppdage skadelige forespørsler (for eksempel opplagt SQL-injeksjon blir eller innlegg), og vil umiddelbart utestenge IP-adressen anmoder / legge til en svarteliste. Jeg er klar over at i en ideell verden vår koden skal være i stand til å håndtere slike forespørsler, og behandle dem deretter, men det er mye av verdi i et slikt verktøy selv når området er trygt fra slike angrep, da det kan føre til lagring av båndbredden, og hindrer bloat av analyse, etc.

Ideelt sett Jeg ser etter et kryssplattform ( LAMP/.NET) løsning som sitter på et høyere nivå enn den teknologi stabelen; kanskje på web-server eller maskinvarenivå. Jeg er ikke sikker på om dette finnes, skjønt.

Uansett, vil jeg gjerne høre samfunnets tilbakemeldinger slik at jeg kan se hva mine alternativer kan være med hensyn til gjennomføring og tilnærming.

Publisert på 04/08/2008 klokken 14:40
kilden bruker
På andre språk...                            


8 svar

stemmer
10

Din nesten se på det på feil måte, ingen 3party verktøy som ikke er klar over påføringsmetoder / navne / data / domenet kommer til kommer til å være i stand til helt beskytte deg.

Noe som SQL-injeksjon forebygging er noe som må være i koden, og best er skrevet av folk som skrev SQL, fordi de er de som vil vite hva som bør / ikke bør være i disse feltene (med mindre prosjektet har svært gode docs )

Din rett, alt dette har blitt gjort før. Du ikke helt har å gjenoppfinne hjulet, men du trenger ikke å skaffe seg en ny en på grunn av en forskjell i alles akseldiameter.

Dette er ikke en drop-in og kjøre problem, du virkelig trenger å være kjent med hva SQL-injeksjon er før du kan hindre det. Det er en slu problem, så det tar like sleipe beskyttelse.

Disse 2 linkene lært meg langt mer enn det grunnleggende om emnet for å komme i gang, og hjalp meg bedre uttrykk mine fremtidige oppslag på konkrete spørsmål som ikke ble besvart.

Og mens dette isnt ganske 100% finder, vil den "vise deg lyset" på eksisterende problem i ditt eksisterende kode, men som med webstandards, ikke slutte koding når du passerer denne testen.

Svarte 04/08/2008 kl. 15:43
kilden bruker

stemmer
5

Problemet med en generisk verktøyet er at det er svært vanskelig å komme opp med et sett med regler som bare vil matche mot et ekte angrep.

SQL søkeord er alle engelske ord, og ikke glem at strengen

 DROP TABLE users;

er helt gyldig i et skjemafelt som, for eksempel, inneholder et svar på et programmerings spørsmålet.

Den eneste fornuftige alternativet er å rense innspill før noen gang passerer den til databasen, men gi det videre likevel. Ellers massevis av helt normale, ikke-ondsinnede brukere kommer til å bli utestengt fra nettstedet ditt.

Svarte 04/08/2008 kl. 15:11
kilden bruker

stemmer
3

Oracle har fått en elektronisk veiledning om SQL Injection . Selv om du vil ha en ferdig løsning, dette kan gi deg noen tips om hvordan du bruker den bedre til å forsvare deg selv.

Svarte 05/08/2008 kl. 17:38
kilden bruker

stemmer
3

En liten ting å huske på: I noen land (dvs. det meste av Europa), folk har ikke statiske IP-adresser, så svartelisting bør ikke være for alltid.

Svarte 04/08/2008 kl. 15:22
kilden bruker

stemmer
3

En metode som kan fungere for noen tilfeller ville være å ta sql streng som ville kjøre hvis du naivt brukte skjemadata og gi det til noen kode som teller antall uttalelser som faktisk ville bli henrettet. Hvis den er større enn antallet forventet, så det er en anstendig sjanse for at en injeksjon ble forsøkt, særlig for felt som er lite sannsynlig å inkludere kontrolltegn som brukernavn.

Noe som en vanlig tekstboks ville være litt vanskeligere siden denne metoden ville være mye mer sannsynlig å gå tilbake falske positiver, men dette ville være en start, minst.

Svarte 04/08/2008 kl. 15:20
kilden bruker

stemmer
0

Interessant hvordan dette blir gjennomført år senere av Google og dem fjerne URL alle sammen for å forhindre XSS-angrep og andre skadelige acitivites

Svarte 24/07/2014 kl. 05:18
kilden bruker

stemmer
0

En av mine nettsteder ble nylig hacket gjennom SQL Injection. Det lagt en link til et virus for hvert tekstfelt i db! Reparasjonen var å legge noen kode på jakt etter SQL søkeord. Heldigvis har jeg utviklet i ColdFiusion, så koden sitter i min Application.cfm fil som kjøres i begynnelsen av hver nettside og den ser på alle nettadressevariabler. Wikipedia har noen gode linker for å hjelpe også.

Svarte 16/09/2008 kl. 14:04
kilden bruker

stemmer
0

Nå som jeg tenker på det, en bayesiansk filter som ligner på de som brukes til å blokkere spam kan fungere skikkelig også. Hvis du fikk sammen et sett med normal tekst for hvert felt og et sett med SQL-injeksjon, kan du være i stand til å trene den til å flagge injeksjon angrep.

Svarte 04/08/2008 kl. 15:26
kilden bruker

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