Skip to main content

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

By 5 октября 20149 марта, 2016Blog

Нихао, %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

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

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

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

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

dom-xssmail-dom-xss

 

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

 

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

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

Join the discussion 8 комментариев

Leave a Reply to goodgod Cancel Reply