Vinnaren i pepparkakshustävlingen!
2010-09-12, 12:04
  #1
Medlem
Tja.

Jag brukar använda diverse funktioner för att skydda mig mot sql-injections. På skoj tog jag bort all inputvalidering men lyckades ändå inte "hacka" mig själv. Varför?

Exempel:

$username = $_POST["username"];
mysql_query(" SELECT email FROM users WHERE username = '$username' ");

Om jag postar data ' OR id='1' borde detta ge:

mysql_query(" SELECT email FROM users WHERE username = '' OR id='1' ");

men ger den ofarliga:

mysql_query(" SELECT email FROM users WHERE username = '\' OR id=\'1' ");

Oavsett om det är en textarea eller vanligt textfält. Är det min webbläsare som skyddar mig?

Tack tack

Edit: mysql 5.0 och php 5.2.3
__________________
Senast redigerad av chrille156 2010-09-12 kl. 12:06.
Citera
2010-09-12, 12:32
  #2
Moderator
Protons avatar
Näe, det här har inget med din webläsare att göra, det är mer troligt att magic_quotes eller nåt liknande är ställt till on på din webserver så att du får dina enkelfnuttar escapeade ändå.
Citera
2010-09-12, 12:55
  #3
Medlem
Citat:
Ursprungligen postat av Proton
Näe, det här har inget med din webläsare att göra, det är mer troligt att magic_quotes eller nåt liknande är ställt till on på din webserver så att du får dina enkelfnuttar escapeade ändå.

Ok. Betyder detta att jag är safe sålänge serverkonfigurationen förblir oförändrad?
__________________
Senast redigerad av chrille156 2010-09-12 kl. 13:23.
Citera
2010-09-12, 13:45
  #4
Medlem
VenomXs avatar
Magic quotes-metoden (som väl inte ens stöds längre i nyare version av php?) rekommenderas inte att man använder, kör på mysql_real_escape_string() istället för att sanitera textindata.

Eftersom rekommendationen uppkommit av en anledning så får man ju dra slutsatsen att du troligen inte är safe med endast detta påslaget, nej.
Citera
2010-09-12, 14:32
  #5
Medlem
Citat:
Ursprungligen postat av VenomX
Magic quotes-metoden (som väl inte ens stöds längre i nyare version av php?) rekommenderas inte att man använder, kör på mysql_real_escape_string() istället för att sanitera textindata.

Eftersom rekommendationen uppkommit av en anledning så får man ju dra slutsatsen att du troligen inte är safe med endast detta påslaget, nej.

Bra tänkt.

Har dock sökt lite på Google o det verkar som att det huvudsakliga missnöjet är att man blir så beroende av serverkonfiguration. En uppdatering och man är öppen för injections hur lätt som helst. Hanterar man konfigurationen på rätt sätt borde det inte va nått problem.
Citera
2010-09-12, 15:00
  #6
Medlem
kh31d4rs avatar
Citat:
Ursprungligen postat av chrille156
Bra tänkt.

Har dock sökt lite på Google o det verkar som att det huvudsakliga missnöjet är att man blir så beroende av serverkonfiguration. En uppdatering och man är öppen för injections hur lätt som helst. Hanterar man konfigurationen på rätt sätt borde det inte va nått problem.

Chansen att någon går och känner på din dörr när du inte är hemma är inte så stor, men du låser väl ändå dörren?

ergo: ta inte något för givet, skriv inga program som förutsätter att miljön ser ut på ett eller annat sätt.
Citera
2010-09-12, 16:48
  #7
Medlem
Citat:
Ursprungligen postat av kh31d4r
Chansen att någon går och känner på din dörr när du inte är hemma är inte så stor, men du låser väl ändå dörren?

ergo: ta inte något för givet, skriv inga program som förutsätter att miljön ser ut på ett eller annat sätt.

Kloka ord. Tack för hjälpen!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback