phpbar.de logo

Mailinglisten-Archive

[php] sichere MySQL Queries

[php] sichere MySQL Queries

"H. Hübel" hhuebel at sky-bizz.com
Son Nov 12 19:50:26 CET 2006


Hallo Michael

> Ich überprüfe gerade mal unsere Queries auf Injecction.
> 
> So wird zb via GET eine Sortierung übergeben, die dann in die Query a la 
> "ORDER BY $_GET['order']" übergeben wird.
> 
> Ein Angriff via $GET['order'] = leer;DROP TABLE 'x' wäre ohne weiteres 
> möglich.

Ich verrate dir gerne meine Variante, die zwar umständlich ist. Da ich 
aber dafür stets nur bereits bestehende Klassenmethoden aufrufen muß, 
hält sich der Aufwand im Rahmen.

Wie folgt:

Im QueryString finden sich bei mir lediglich Angaben ala 
"order=A657437B37CF3572" etc.

Ich übergebe in den QueryString nicht den Feldnamen selbst, sondern 
dessen MD5. In der Auswertung werden sämtliche Feldnamen der SQL-Query 
hinsichtlich ihres MD5's auf den übergebenen MD5 in $_GET['order'] 
überprüft und anhand dessen das eigentliche Order-Feld festgestellt.

Eine SQL Injection ist an dieser Stelle dadurch nicht mehr möglich.


Grüße, Hagen Hübel

php::bar PHP Wiki   -   Listenarchive