Доминируем в dom xss

Доминируем в dom xss

Нихао, %username%!

Я, как скрипткидди со стажем, хотел бы рассказать о интересной софтине от mindedsecurity — DOMinator. Это хоть и не новое, но единственное на данный момент решение для поиска dom based xss динамически (няшный динамический анализатор, который позволяет по феншую проследить за выполнением операций в js). Статические анализаторы (есть в acunetix wvs, burp suite, w3af и других) явно отстают от того, что можно найти с помощью доминатора, вот поэтому я хотел бы написать небольшой обзор, взвесить плюсы и минусы, показать пару примеров.

Внимание, это плагин. Ага, хитровыдуманный такой плагин для firefox, и огнелис-то не простой, а специальная сборка — Aurora 8. Из фич, например, отсутствие urlencode (ну это короч когда вместо site/здарова получается site/%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82) поэтому проблем с кавычками в url не будет. А это неплохо так помогает имитировать всеми любимый Internet Explorer и сразу запиливать векторы под него.

Сам плагин — симбиоз Firebug с дополнительной вкладкой под анализатор DOMinator’а, в логе которого и наблюдаем подозрительные места в js.

dom 300x189 Доминируем в dom xss

После запуска чудо-плагина и открытия страницы — url можно пофаззить кнопочкой play. Доминатор тем временем засунет переменные, интересные ему в url, и начинает следить за реакцией, кто что берёт и как использует. В логах плагина можно наблюдать наш подозрительный адрес и возможные баги, которые определяются как alert, warning и info по степени опасности. В вкладке Issue Description можно почитать, чего-же опасного обнаружил DOMinator, и как это можно использовать.

Вот демонстрация возможностей на примере vk.com


Сразу скажу, что сам он не будет вставлять супер-крутые вектора, а даст подумать самим, встроенный JS Pretty Print поможет разобраться в сложном js коде.Вкладка Source History покажет, как изменялось значение переменной на странице, а Call Stack — тыкнет носом на строчку кода, где эта переменная вызывается. Супер? Не поспоришь.

В идеале — xss будет выглядеть как-то так, его в принципе можно обнаружить и статичным анализатором :

dom xss1 300x143 Доминируем в dom xss mail dom xss 300x155 Доминируем в dom xss

А вот теперь о плохом. Огромные утечки памяти, циклы, зависания, краши. Софт ведет себя как отличница на вечеринке, ломается и не хочет слушаться. Иногда не видит явные и очевидные вещи, типа классических dom based. Со своей работой он справляется, пусть и придется несколько раз его перезапустить, да с «тяжёлыми» js он будет очень долго думать, а то и займет всю память и зависнет. Но на фоне отсутствия аналогов, это простимо.

А теперь о цене. Чтобы заполучить столь ценный софт, нужно заплатить 1000$. Дороговато будет. Но в умелых руках его стоимость быстро отобьётся, хотя и не каждый багхантер может купить.

Получается такое двоякое впечатление, софт ведет себя как будто он на альфа-тестировании, был бы он бесплатный — цены бы ему небыло. А получается, что цена ему есть. Но в любом случае он работает, пусть и не идеально.

Купить или запросить демку можно ТУТ .

Доминируем в dom xss данный пост отсюда: Bo0oM.ru

Alt text

Подписывайтесь на каналы "SecurityLab" в TelegramTelegram и TwitterTwitter, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.