Dennis: mit PHP eine datenbank durchsuchen

Beitrag lesen

Hi TomIRL,

Gut, da jast du natürlich Recht, aber andererseits, was bewirkt schon ein OR in '' eingeschlossen?

Na dann denk noch mal nach...
addslashes macht slashes also so etwas "" und keine ''.
Und dann denke mal ein bischen nach vor ca. Monat hat hier einer (Wahsaga?) mal sehr treffend beschrieben wie man eine Mysqlinjektion mit OR baut.

Ja, es war wahsage, ich hatte das damals auch gelesen: http://forum.de.selfhtml.org/archiv/2004/10/t91350/#m549394

Jetzt aber noch mal zum eigentlichen Problem, angenomen, wir haben folgenden Teil eines SQL Querys, wo die $variable von einem Formular kommt:

WHERE bla = '$variable'

enthält $variable jetzt "blah' OR 1#", dann wird daraus:

WHERE bla = 'blah' OR 1#'

womit die WHERE Bedingung immer zutreffen würde.

Jetzt jagen wir das ganze mal durch addslashes():

$sql = "WHERE bla = '" . addslashes($variable) . "'";

Dann würde da rauskommen:

WHERE bla = 'blah' OR 1#'

Und das dürfte doch eigentlich keine ungewünschten Effekte mehr auslösen, oder sehe ich dass jetzt falsch? Denn ein OR in '' eingeschlossen dürfte eigentlich nicht berücksichtigt werden.

Ich weiß allerdings nicht genau, wie das mit der Raute ist. Wenn diese nicht berücksichtigt wird, dann dürfte es auch hier keinen Fehler geben, wenn sie berücksichtigt wird, sollte

mysql_query($sql) OR die(mysql_error());

dann einen Fehler ausliefern.

Ich hab irgendwie das Gefühl einer von uns ist auf dem Holzpfad - oder wir reden aneinander vorbei ;-), so far,

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
Zufällige Hinweise:
------------------------
Antworten per E-Mail gibts hier nicht!