phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] WHERE Klausel transportieren

[php] AW: [php] WHERE Klausel transportieren

Gerald Grote g.grote_(at)_tu-bs.de
Sat, 1 Jul 2000 11:42:01 +0200


Hi,

> Aber ich muss schließlich dafür sorgen, daß die WHERE Klausel der
> Query mit dem graphischen "Weiter" Hyperlink übergeben wird.
>
> Folgende Klausel habe ich via urlencode frmatieren lassen:
> free like 'j'
> Und nach dem urlencode wurde dieser String zu
> free+like+%27j%27

Das direkte Ausführen des übergebenen Stings als Query ist brandgefährlich.

So erlaubst du jedem Surfer, beliebige Queries zu schicken. Ich könnte z.B.
folgende Anfrage schicken:
"free like 'x'; DROP DATABASE db_name"

Du baust den String seelenruhig in deine Query ein und mit etwas
rumprobieren habe ich deine Datenbank ziemlich schnell zerhackt.

Grundregel für Sicherheit von Web-Applikationen: Niemals übergebene
Parameter direkt und ungeprüft ausführen (auch nicht, wenn sie nur Teil der
Query sind).

Warum übergibst du nicht einfach nur das "j" als parameter, das löst dann
auch die Probleme mit dem en-/decoden.

Gerald.



php::bar PHP Wiki   -   Listenarchive