phpbar.de logo

Mailinglisten-Archive

[php] SQL Inject

[php] SQL Inject

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Die Jul 18 10:16:04 CEST 2006


Hi Mike,

Am Dienstag, 18. Juli 2006 10:06 schrieb Mike Hubner:
> Ich bin gerade am security sachen ausprobieren, und deshalb ich
> ich PHP script laut http://www.phpbar.de/w/Injection präpariert.
>
> Um bei der Eingabe vom username mit  " or 1 /*  einloggen zu können.
>
> Also der code so:
>
> $sql = 'SELECT COUNT(*) as eingeloggt
> 2           FROM users
> 3          WHERE username = "'.$_POST['username'].'"
> 4            AND password = MD5("'.$_POST['password'].'")';
> 5  $result = mysql_query($sql);
> 6  if (!$result) {
> 7      trigger_error('MySQL Fehler: '.mysql_error(), E_USER_ERROR);
> 8  }
> 9  // mit $result arbeiten...
>
> Das funktioniert soweit auf meinen localen rechner ( Apache 2.0,
> MySQL 5, PHP 5.1 ), jetzt habe ich aber den code nen Server bei nem
> Provider raufgelegt, und siehe da, der gleiche code, mit gleicher
> Datenbankdaten ect. funktioniert nicht, sprich das login schlägt
> fehl.
>
> Ich kann mir nur vorstellen das es eine option gibt um bei MySql
> mehrzeile Kommentare zu verbieten oder sowas in der Art.
>
> Ich hoffe jemand kann mir einen Tip geben warum das beim INET
> provider nicht funktioniert Local aber schon. register_globals ist
> bei beiden auf "ON".

hast Du Dir mal auf beiden Servern den Inhalt von $sql ausgeben lassen? 
Gibt es da einen Unterschied zu sehen? Eventuell könnte es an 
magic_quotes liegen...

Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive