|
| mysql_real_escape_string Fra : Michael Foged |
Dato : 29-09-04 11:11 |
|
Hej
Fra http://de2.php.net/manual/en/function.mysql-real-escape-string.php
Citat You must always (with few exceptions) use this function to make your data
safe before sending a query to MySQL. If you have magic_quotes_gpc
enabled, and you are working with data from user input, you must first
stripslashes() your data. If your data are form other sources and you
have magic_quotes_runtime enabled, you also have to stripslashes() your
data. If you don't do so, you leave yourself open to SQL Injection
Attacks. |
Jeg er i tvivl om betydningen af sidste sætning, begyndende med "If you
don't do so". Refereres der her til mysql_real_escape_string() eller
refereres der til stripslashes()?
Jeg kan ikke se hvad kan misbruges hvis jeg ikke bruger stripslashes(),
hvorimod tiøren faldt da jeg læste om mysql_real_escape_string()
(bortset fra at jeg ikke ka' se hvordan queryen ender som
<snip>$_POST['password']='' OR 1=1
Hvorfor vil $_POST['password'] være tom? Er det den enlige ' i det
indtastede password?
--
mvh
Michael Foged
| |
Troels Arvin (29-09-2004)
| Kommentar Fra : Troels Arvin |
Dato : 29-09-04 12:17 |
|
On Wed, 29 Sep 2004 12:10:44 +0200, Michael Foged wrote:
> Jeg er i tvivl om betydningen af sidste sætning, begyndende med "If you
> don't do so". Refereres der her til mysql_real_escape_string() eller
> refereres der til stripslashes()?
Jeg tror, det må henvise til mysql_real_escape_string().
> tiøren faldt da jeg læste om mysql_real_escape_string()
> (bortset fra at jeg ikke ka' se hvordan queryen ender som
>
> <snip>$_POST['password']='' OR 1=1
>
> Hvorfor vil $_POST['password'] være tom? Er det den enlige ' i det
> indtastede password?
Jeg synes også, at beskrivelsen på nævnte URL er buggy. En ubehagelig
værdi for $_POST['password'] kunne derimod være
' OR ''='
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Michael Foged (29-09-2004)
| Kommentar Fra : Michael Foged |
Dato : 29-09-04 12:40 |
|
On Wed, 29 Sep 2004 13:16:44 +0200, Troels Arvin wrote:
> Jeg tror, det må henvise til mysql_real_escape_string().
Var også min umiddelbare tanke, men da jeg læste det 3dje gang blev jeg
i tvivl:/
> Jeg synes også, at beskrivelsen på nævnte URL er buggy. En ubehagelig
> værdi for $_POST['password'] kunne derimod være ' OR ''='
Tak for forklaringen, jeg tror den er feset ind.
Har jeg ret i at queryen vil se sådan ud: SELECT * FROM user WHERE
password='' OR ''='' ? (alt er enkelt-quotes)
--
mvh
Michael Foged
| |
Troels Arvin (29-09-2004)
| Kommentar Fra : Troels Arvin |
Dato : 29-09-04 12:44 |
|
On Wed, 29 Sep 2004 13:39:36 +0200, Michael Foged wrote:
> Har jeg ret i at queryen vil se sådan ud: SELECT * FROM user WHERE
> password='' OR ''='' ? (alt er enkelt-quotes)
Ja, bortset fra, at du har glemt
user='aidan' AND
i din WHERE-betingelse - men det er ligegyldigt for essensen.
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Michael Foged (29-09-2004)
| Kommentar Fra : Michael Foged |
Dato : 29-09-04 12:59 |
|
On Wed, 29 Sep 2004 13:43:58 +0200, Troels Arvin wrote:
> On Wed, 29 Sep 2004 13:39:36 +0200, Michael Foged wrote:
>
>> Har jeg ret i at queryen vil se sådan ud: SELECT * FROM user WHERE
>> password='' OR ''='' ? (alt er enkelt-quotes)
>
> Ja,
Ok tak.
> bortset fra, at du har glemt user='aidan' AND
>
> i din WHERE-betingelse - men det er ligegyldigt for essensen.
ja jeg var lidt for doven, da jeg havde lukket min browser.
--
mvh
Michael Foged
| |
|
|