Postformular: beim Absenden gleich codieren

Apache, Lighttpd, nginx, Cherokee
amiga1200
Posts: 208
Joined: 2007-01-13 19:58

Postformular: beim Absenden gleich codieren

Post by amiga1200 » 2009-06-30 14:10

ich habe einen Kundenserver, dort werden die Formular-Daten (Methot Post) schon beim übertragen codiert,
also aus 'test' wird 'test'.

was ich immer mit mysql_real_escape_string machen musste.


Ist das eine Apache Konfiguration? oder wir
wird das gemacht?

hornox
Posts: 139
Joined: 2005-09-22 23:09

Re: Postformular: beim Absenden gleich codieren

Post by hornox » 2009-06-30 14:43


User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Postformular: beim Absenden gleich codieren

Post by daemotron » 2009-06-30 16:26

amiga1200 wrote:dort werden die Formular-Daten (Methot Post) schon beim übertragen codiert

Das ist normal. Der Request Body (also die POST-Daten) werden grundsätzlich in codierter Form zum Server übertragen und von diesem auch in codierter Form über die CGI- oder FastCGI-Schnittstelle weitergereicht. Wie diese Codierung aussieht, ist hier ganz gut beschrieben: http://openbook.galileocomputing.de/c_v ... 781F03F1A9

amiga1200 wrote:also aus 'test' wird 'test'.

Nein, aus 'test' im Formular wird %2Ctest%2C im HTTP Request. Wenn Du schon irgendwelche anderen Daten zu Gesicht bekommst, hast Du noch eine Schicht (wie etwa einen Interpreter) zwischen Webserver und Deinem Problemfall. In dem Fall hat das aber nichts mit dem Webserver, sondern mit dem Interpreter zu tun.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

papabaer
Userprojekt
Userprojekt
Posts: 170
Joined: 2009-05-14 17:40
Location: Halle (Saale)

Re: Postformular: beim Absenden gleich codieren

Post by papabaer » 2009-07-01 12:48

amiga1200 wrote:was ich immer mit mysql_real_escape_string machen musste.


Mach's in jedem Fall weiter so. Selbst, wenn du eine Lösung findest, dass es an irgend einer Stelle "vorher" codiert wird. Du wechselst irgendwann den Server, änderst eine Config und vergisst es, vertraust Code, der beim User läuft, ... Und schon hast du die MySQL-Injection-Lücke offen.

Stefan

danton
Posts: 47
Joined: 2006-01-10 17:45

Re: Postformular: beim Absenden gleich codieren

Post by danton » 2009-07-02 09:50

Ich gehe mal davon aus, daß es sich um PHP handelt. Dann solltest du magic_quotes in der php.ini abschalten (ist mit PHP 5.3 sowieso deprecated und wird in PHP6 entfernt) und weiter mit mysql_real_escape_string/addslashes arbeiten.
Ich habe in meinen Scripten abgefragt, ob magic_quotes aktiv ist und wenn ja, dann werden die Superglobalen Array $_GET, $_POST, $_REQUEST erst noch mit stripslashes verarbeitet, so daß ich wieder den Zustand ohne magic_quotes habe.