DOM Invader
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
DOM Invader - це інструмент браузера, встановлений у вбудованому браузері Burp. Він допомагає у виявленні вразливостей DOM XSS за допомогою різних джерел і приймачів, включаючи веб-повідомлення та забруднення прототипу. Інструмент попередньо встановлений як розширення.
DOM Invader інтегрує вкладку в панелі DevTools браузера, що дозволяє:
Ідентифікацію контрольованих приймачів на веб-сторінці для тестування DOM XSS, надаючи контекст та деталі санітизації.
Логування, редагування та повторну відправку веб-повідомлень, надісланих за допомогою методу postMessage()
, для тестування DOM XSS. DOM Invader також може автоматично виявляти вразливості, використовуючи спеціально підготовлені веб-повідомлення.
Виявлення джерел забруднення прототипу на стороні клієнта та сканування контрольованих гаджетів, надісланих до ризикованих приймачів.
Ідентифікацію вразливостей DOM clobbering.
У вбудованому браузері Burp перейдіть до Burp extension і увімкніть його:
Тепер оновіть сторінку, і в Dev Tools ви знайдете вкладку DOM Invader:
На попередньому зображенні ви можете побачити випадкову групу символів, це Канар. Тепер ви повинні почати впроваджувати його в різні частини вебу (параметри, форми, URL...) і кожного разу натискати пошук. DOM Invader перевірить, чи канар закінчився в будь-якому цікавому приймачі, який може бути використаний.
Більше того, опції Inject URL params та Inject forms автоматично відкриють нову вкладку, впроваджуючи канар в кожен URL параметр і форму, яку вони знайдуть.
Якщо ви просто хочете знайти потенційні приймачі, які може мати сторінка, навіть якщо вони не підлягають експлуатації, ви можете шукати порожній канар.
DOM Invader дозволяє тестувати DOM XSS, використовуючи веб-повідомлення з такими функціями, як:
Логування веб-повідомлень, надісланих через postMessage()
, подібно до логування історії HTTP запитів/відповідей Burp Proxy.
Модифікація та повторна відправка веб-повідомлень для ручного тестування DOM XSS, подібно до функції Burp Repeater.
Автоматичне зміна та відправка веб-повідомлень для перевірки DOM XSS.
Детальну інформацію про кожне повідомлення можна переглянути, натиснувши на нього, що включає, чи доступ JavaScript на стороні клієнта до властивостей origin
, data
або source
повідомлення.
origin
: Якщо інформація про походження повідомлення не перевіряється, ви можете надіслати крос-доменні повідомлення до обробника подій з довільного зовнішнього домену. Але якщо це перевіряється, це все ще може бути небезпечно.
data
: Це місце, куди надсилається корисне навантаження. Якщо ці дані не використовуються, приймач марний.
source
: Оцінює, чи перевіряється властивість source, зазвичай посилаючись на iframe, замість походження. Навіть якщо це перевіряється, це не гарантує, що перевірка не може бути обійдена.
У вигляді Messages натисніть на будь-яке повідомлення, щоб відкрити діалогове вікно деталей повідомлення.
Відредагуйте поле Data за потреби.
Натисніть Send.
DOM Invader також може шукати вразливості забруднення прототипу. Спочатку вам потрібно увімкнути це:
Потім він шукатиме джерела, які дозволяють вам додавати довільні властивості до Object.prototype
.
Якщо щось буде знайдено, з'явиться кнопка Test, щоб перевірити знайдене джерело. Натисніть на неї, з'явиться нова вкладка, створіть об'єкт у консолі та перевірте, чи існує testproperty
:
Once you found a source you can scan for a gadget:
Нова вкладка відкривається за допомогою DOM Invader, коли натискається кнопка Scan for gadgets, яка знаходиться поруч з будь-яким виявленим джерелом забруднення прототипу у вигляді DOM. Потім починається сканування на наявність підходящих гаджетів.
Тим часом у тій же вкладці повинна бути відкрита вкладка DOM Invader в панелі DevTools. Після завершення сканування будь-які sink, доступні через виявлені гаджети, відображаються у вигляді DOM. Наприклад, властивість гаджета з назвою html
, що передається в sink innerHTML
, показана в наведеному нижче прикладі.
На попередньому зображенні можна побачити, що сканування на наявність DOM clobbering може бути увімкнено. Після цього DOM Invader почне шукати вразливості DOM clobbering.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)