31.05.2008, 14:06
Hallo,
ich versteh nicht ganz, warum die Änderungen des Patches auf 1.2.13 als "medium" bzw. "high" eingestuft sind:
OK, wird nicht auf Sonderzeichen geprüft aber darauf wird sowieso nur die Methode angewandt, die aus inc/functions.php den String hinter dem "." ausliest.
Bei inc/datahandlers/user.php wurde versäumt den Sprachstring zu escapen. Aber angenommen jemand möchte eine SQL-Injection durchführen, würde das wahrscheinlich über ein Update seine Profils gemacht werden. Also schauen wir uns einmal usercp.php an:
Bei einer Profiländerung wird ein "action=do_options" als POST ausgeführt. Dabei wird das Array gesetzt. Das Ganze wird noch über validiert, also überprüft, ob die Sprache auch wirklich existiert. Das geschieht in inc/datahanders/user.php. Dort wird die Funktion ausgeführt, welche wiederum aufruft. befindet sich in inc/class_language.php und führt ein aus. Davor wurden mögliche / \\ .. ausgefiltert. Also auch nicht kritisch.
Ein SQL-Befehl wurde bis zu diesem Zeitpunkt nicht abgesetzt. Wo ist also das Risiko?
Grüße
subTH
ich versteh nicht ganz, warum die Änderungen des Patches auf 1.2.13 als "medium" bzw. "high" eingestuft sind:
OK,
PHP-Code:
$attachment['filename']
PHP-Code:
get_extension()
Bei inc/datahandlers/user.php wurde versäumt den Sprachstring zu escapen. Aber angenommen jemand möchte eine SQL-Injection durchführen, würde das wahrscheinlich über ein Update seine Profils gemacht werden. Also schauen wir uns einmal usercp.php an:
Bei einer Profiländerung wird ein "action=do_options" als POST ausgeführt. Dabei wird das Array
PHP-Code:
$user['language']
PHP-Code:
validat_user()
PHP-Code:
verfiy_language()
PHP-Code:
language_exists()
PHP-Code:
language_exists()
PHP-Code:
file_exists()
Ein SQL-Befehl wurde bis zu diesem Zeitpunkt nicht abgesetzt. Wo ist also das Risiko?
Grüße
subTH