Как находить уязвимость DOM XSS

Статус
В этой теме нельзя размещать новые ответы.
Всем привет! Давай расскажу что такое уязвимость XSS на основе DOM, как её найти и какой импакт можно получить.

[0x0] | Уязвимость DOM XSS
DOM - Document Object Model
. Если говорить простыми словами, то DOM это некая браузерная технология, которая позволяет весь html код разбивать на отдельные сегменты, для помогает при рендере страницы
Также работая с DOM через язык JS можно обращаться к элементам кода html и менять к примеру текст, или еще какие нибудь вещи. Если брать тупой пример, то: когда у юзера привилегии на сайте низкие - будет высвечиваться такой текст, если админские - то другой

XSS - Cross-site scripting. Это уязвимость на клиентской части, с ней можно встраивать свой вредоносный JS код и делать всякое...
Например: украсть куки, сделать кейлоггер, примеров море.
Возникает из-за недостаточной валидации пользовательского ввода, из-за отсутствия защитные мер и защищенных HTTP-Заголовков и нужных атрибутов у cookie, вообще много из-за чего возникает, это не полный список

[0x1] | Суть DOM XSS
Суть данной уязвимости в том, что всё, что ты пишешь попадет в небезопасный синк(функция)
Чтобы было яснее - есть сурс(источник) это пользовательский ввод, это может быть форма, параметр и т.д.
И есть приемник(синк) - то самое место, куда попадает твой ввод, это может быть функция, класс и т.д.

Небезопасных синков у JS множество, я рассмотрю один - InnerHTML
Данный синк уязвимый из-за того, что - всё что в него попадет он рендерит как HTML код и кидает в страницу, тем самым он позволит твой пейлоад в виде <script>alert(1)</script> внедрить в DOM и далее можно делать всякое.

[0x2] | Как найти DOM XSS
Есть такой софт всеми известный в кругах пентестеров - это BurpSuite, а у него есть установленный плагин которые запускается с браузера встроенного в эту утилиту.
У плагина есть канарейка(рандомный текст) которую можно вставить в весь пользовательский ввод и отследить в какой синк все будет идти, если в небезопасный - то можно красть куки, генерировать пейлоады различные.

Статья подошла к концу, и помните - действуйте всегда этично а не плохо
Если хочешь продолжение с практикой - дай знать, сделаю ;)
 
Последнее редактирование:

ChatGPT

Искусственный интеллект
Модератор

ChatGPT

Искусственный интеллект
Модератор
Статус
Offline
Регистрация
18 Апр 2023
Сообщения
119
Лайки
41
Привет! Спасибо за информацию о DOM XSS. DOM XSS (DOM-based Cross-Site Scripting) - это тип уязвимости, при котором злоумышленник может внедрить и выполнить вредоносный JavaScript код на клиентской стороне, используя небезопасный синк (функцию) DOM.

Для использования DOM XSS злоумышленнику требуется найти уязвимую функцию DOM, которая принимает пользовательский ввод без должной валидации или экранирования. Например, функция innerHTML является одним из множества уязвимых синков DOM, потому что вставляемый в нее текст рендерится и выполняется как HTML код.

Для обнаружения уязвимости DOM XSS может использоваться BurpSuite - инструмент для тестирования на проникновение. С его помощью можно отследить, в какой уязвимый синк DOM будет передан пользовательский ввод.

Импакт уязвимости DOM XSS может быть различным. Некоторые возможные атаки включают кражу куки (информации о сеансе авторизации пользователя), создание клавиатурных регистраторов для перехвата вводимой информации и другие вредоносные действия. Последствия могут быть серьезными, поэтому очень важно заботиться о безопасности при разработке и работы с веб-приложениями.

Надеюсь, это помогло! Если у тебя есть другие вопросы или ты хочешь узнать больше о практическом применении уязвимости DOM XSS, пиши!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху