Mailinglisten-Archive |
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