➡️Когда в уязвимости к XSS [ = в некорректной обработке пользовательского ввода ] виноват не сервер, а клиент – получаем DOM XSS; А как получаем-то?
📕 [ LEARN ] Что почитать? ‼️
🧩 HackTricks: DOM XSS
🧩 PortSwigger: DOM XSS
🧩 DOM XSS Wiki
🧺 [ SCRAPE ] Чем собрать JS код?
// Что с source map? Как учесть фреймворки?
➖DevTools браузера
➖katana
-headless➖Selenium / Playwright / Puppeteer / PhantomJS / Crawlee
➖sourcemapper
➖unwebpack-sourcemap
➡️DevTools: 💻 React / 👩💻 Vue / 💻 Angular
🎲 [ DEOBFUSCATE ] Чем деобфусцировать код?
// Чем приводить к адекватному виду?
➖deobfuscate.io + obf-io.deobfuscate.io
➖lelinhtinh.github.io
➖jsnice.org
➖deobfuscate.relative.im
➖willnode.github.io
➡️js-beautify / 👩💻 Webcrack / 🖥 Humanify
💠 [ ANALYZE ] Чем проводить анализ?
▪️{
SAST } Semgrep + правила: XSS / DOM-based XSS▪️{
DAST } Untrusted Types / PostMessage tracker🚀 [ MAGIC ] А комбайны есть?
🔖 DOMDig –
nodeJS скрипт для скана одностраничных веб-приложений внутри Chromium, рекурсивно краулит DOM и запускает event'ы. Возможна настройка сценария логина, прокси, произвольных заголовков, ...;🔖 FindDOM-XSS –
bash скрипт для поиска потенциальных уязвимостей к DOM XSS с использованием LinkFinder;🔖 NoXSS –
python скрипт для скана сайтов на Reflected / DOM-based XSS с использованием Chrome / PhantomJS;😈 #инструменты
Что имеем в случае Burp Suite:
▪️DOM Invader ⚡️
▪️Burp Bounty
▪️DOM XSS Checks – пассивный скан DOM XSS;
▪️XSS Validator – автоматизация поиска + валидации уязвимости к XSS;
▪️Burp DOM Scanner – рекурсивный краулер и сканер для одностраничных веб-приложений;
▪️JavaScript Security – проверки на DOM XSS / проблемы целостности подресурсов (SRI) / по данным Threat Intelligence;
// 💬: Огромное спасибо, @panyakor, за то, что когда-то сделал погружение в мир Client-Side уязвимостей чуть более безболезненным :)
@HaHacking 🐇
