SQL injections?
10 inlägg
• Sida 1 av 1
SQL injections?
Är det någon som händelsvis har något tips angående SQL injections och hur man som lekman kan söka rätt slags information för att bli av med dem?
Senast redigerad av Bjäbbmonstret 2011-05-04 16:45:03, redigerad totalt 1 gång.
- Bjäbbmonstret
- Inlägg: 10605
- Anslöt: 2007-11-15
- Ort: Östergötland
Inte ett svar, men en tecknad serie som visar vad som kan hända:
http://xkcd.com/327/
Hur man gör i praktiken för att slippa beror väl på vilken miljö det handlar om, men här är en kort genomgång som kanske talar om vad som är tillämpligt i det här fallet och ger ledning om vad du ska söka vidare på:
http://en.wikipedia.org/wiki/SQL_inject ... _Injection
http://xkcd.com/327/
Hur man gör i praktiken för att slippa beror väl på vilken miljö det handlar om, men här är en kort genomgång som kanske talar om vad som är tillämpligt i det här fallet och ger ledning om vad du ska söka vidare på:
http://en.wikipedia.org/wiki/SQL_inject ... _Injection
Senast redigerad av Le_inimitable 2011-05-04 16:45:03, redigerad totalt 1 gång.
- Le_inimitable
- Inlägg: 1044
- Anslöt: 2008-10-26
Precis, och M$ är extra dåliga genom olika "finesser" i sin SQL-syntax. För PHP och mySQL räcker det i princip att köra en PHP-funktion på alla SQL-parametrar för att klara sig undan problemet.
Senast redigerad av rdos 2011-05-04 16:45:03, redigerad totalt 1 gång.
Gamla installationer av CMS som inte är uppgraderade och måste rensas. De jag frågar säger olika. Endera att problemet fixas bara jag uppgraderar, andra att problemen kommer att bli kvar, men att jag bara täpper till hålen för nya SQL injections. Och jag har inte vågat uppgradera för att jag inte är säker på att jag kan restaurera från backup om något skulle gå fel.
Det är därför jag vill ha en testserver. Göra det lokalt en gång först innan jag ändrar hos webbhotellet. Jag vet inte om ni tycker att det är vettigt resonerat ni som kan sånt?
Det är möjligt att jag är överförsiktig eller inte men jag har ingen lust att skaffa mig problem i onödan. Vet hur tidskrävande sånt kan bli.
Tackar så mycket för tipsen i övrigt men måste erkänna att det inte är något jag har kapacitet att förstå. Men det var ju också en alldeles för luddig fråga jag ställde. Jag kan nästan ingenting om de bakomliggande systemen utan kommer precis så långt som man kan göra genom att leta upp och läsa manualer.
Det är därför jag vill ha en testserver. Göra det lokalt en gång först innan jag ändrar hos webbhotellet. Jag vet inte om ni tycker att det är vettigt resonerat ni som kan sånt?
Det är möjligt att jag är överförsiktig eller inte men jag har ingen lust att skaffa mig problem i onödan. Vet hur tidskrävande sånt kan bli.
Tackar så mycket för tipsen i övrigt men måste erkänna att det inte är något jag har kapacitet att förstå. Men det var ju också en alldeles för luddig fråga jag ställde. Jag kan nästan ingenting om de bakomliggande systemen utan kommer precis så långt som man kan göra genom att leta upp och läsa manualer.
Senast redigerad av Bjäbbmonstret 2011-05-04 16:45:03, redigerad totalt 1 gång.
- Bjäbbmonstret
- Inlägg: 10605
- Anslöt: 2007-11-15
- Ort: Östergötland
Du kan inte riktigt bli av med dem utan att själv pillra i koden, eller gnäller på utvecklarna. Sårbarhet för SQL-injektioner betyder att utvecklarna är inkompetenta. Det är också extremt lätt att åtgärda problemet så man kan gott kräva att de spottar ut en patch snarast.
Innan man föser ihop data från användare med SQL-uttrycket så anropar man en funktion som med en förenklad förklaring sätter citationstecknet runt det anvämdaren skickat in, så att den biten inte kan tolkas som SQL-syntax. Modernare varianter finns där man först förbereder ett SQL-uttryck och sätter ? där man vill ange indata, och sedan när man utför queryn så anger man all indata.
Som sagt väldigt enkelt att ta itu med.
Innan man föser ihop data från användare med SQL-uttrycket så anropar man en funktion som med en förenklad förklaring sätter citationstecknet runt det anvämdaren skickat in, så att den biten inte kan tolkas som SQL-syntax. Modernare varianter finns där man först förbereder ett SQL-uttryck och sätter ? där man vill ange indata, och sedan när man utför queryn så anger man all indata.
Som sagt väldigt enkelt att ta itu med.
Senast redigerad av OnionKnight 2011-05-04 16:45:03, redigerad totalt 1 gång.
- OnionKnight
- Inlägg: 159
- Anslöt: 2008-03-12
Ja, antingen är det ruskigt gamla system eller kriminellt usla programmerare. Att undvika injections tar ca fyra rader kod i en funktion om man kodar tex PHP. Strippa indata från alla blanktecken och ovidkommande tjafs. Men som lökis säger; man måste in och pillra i koden för det.
Senast redigerad av weasley 2011-05-04 16:45:03, redigerad totalt 1 gång.
Här pillras inget i nån kod. Här finns noll kunskap om programmering. Uppgraderar jag mina system så blir jag förhoppningsvis av med skiten. Har fått igång min testserver nu och försöker lära mig återställa efter backup i den händelse av att jag skulle behöva göra det. Där ligger min kunskapsnivå.
Men det känns skönt att veta att det är ett problem som det verkar finnas en lösning på och att det därmed finns en chans att jag slipper få länkar utbytta mot reklam för bilar, pornografi och viagra?
Men det känns skönt att veta att det är ett problem som det verkar finnas en lösning på och att det därmed finns en chans att jag slipper få länkar utbytta mot reklam för bilar, pornografi och viagra?
- Bjäbbmonstret
- Inlägg: 10605
- Anslöt: 2007-11-15
- Ort: Östergötland