phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] AW: [php] WHERE Klausel transportieren

[php] AW: [php] AW: [php] WHERE Klausel transportieren

Gerald Grote g.grote_(at)_tu-bs.de
Sat, 1 Jul 2000 12:47:54 +0200


Hallo,

> > So erlaubst du jedem Surfer, beliebige Queries zu schicken. Ich könnte
> z.B.
> > folgende Anfrage schicken:
> > "free like 'x'; DROP DATABASE db_name"
>
> dieses statement wird von php/mysql nicht ausgeführt, da nur einzelne
> anweisungen ausgeführt werden, allerdings keine anweisungsabfolgen.

Du hast recht, ich habe es gleich mal getestet und ebenfalls festgestellt,
dass bei MySQL nur eine einzige Anfrage möglich ist. Trotzdem ist es nicht
gerade elegant, Queries teilweise über die URL zu übergeben :-)

Ein anderer beliebter Fehler ist es, Parameter direkt in Systemaufrufe
unterzubringen (z.B. zum Verschicken von e-Mails aus C-Programmen heraus).
Mit geschickten Parametern (etwa in der Art:    "); rm -rf *;  ) kann ein
böswilliger Surfer ziemlich viel Schaden anrichten:
exec(sendmail("...."); rm -rf *; ...

> es ist eh unüblich für einfache datenbank anfragen dem sql-user rechte
> für das löschen von datensätzen zu geben.

Man kann eine DB aber auch mit INSERT, DELETE oder ALTER ziemlich
durcheinanderbringen ...

Gerald.



php::bar PHP Wiki   -   Listenarchive