Вопрос или проблема
После выполнения XSStrike на example.com/example?example=
(для параметра example
) можно с уверенностью (10/10) сказать, что полезная нагрузка <hTmL/+/ONPOINteReNTer%09=%09confirm()//
является уязвимостью XSS.
После декодирования URL это становится <html><script onpointerenter=confirm()></script>
, что означает, что опция ‘confirm’ должна появляться, когда мой курсор движется… куда-то…
Я пробовал запустить это и двигать курсор произвольно по странице, но безуспешно.
- Есть ли конкретное место, которое должно вызывать окно
confirm
? - Не может ли быть что-то другое, что останавливает XSS?
Ответ или решение
Чтобы определить, где именно может быть вызвана уязвимость XSS с использованием данного полезного груза <html><script onpointerenter=confirm()></script>
, необходимо учитывать несколько факторов.
-
Правильное расположение и конструкции HTML: Прежде всего, нужно понять, где именно на странице будет вставлен ваш полезный груз. Полезный груз
onpointerenter
срабатывает, когда курсор мыши перемещается на элемент, который поддерживает это событие. Обычно это атрибут, который можно использовать с элементами, такими как<div>
,<span>
,<img>
и другими. Если данный скрипт был вставлен в тело документа, то вам необходимо перемещать курсор над теми элементами, куда он был внедрён. -
Тестирование с использованием различных элементов: Попробуйте добавить ваш полезный груз в разные HTML-элементы. Например, вы можете внедрить его внутрь
<div>
, как показано ниже:<div onpointerenter="confirm()">Наведи курсор сюда</div>
Если это сработает, то вы увидите окно подтверждения, когда наведёте курсор на этот элемент.
-
Проверка защитных мер: Если окно подтверждения не вызывается, возможно, существуют определённые меры безопасности, которые предотвращают выполнение JavaScript. Эти меры могут включать:
- CSP (Content Security Policy), которая ограничивает выполнение скриптов.
- Фильтры на стороне сервера, которые удаляют или экранируют потенциально небезопасные теги и атрибуты.
- Браузерные плагины или расширения, которые блокируют выполнение скриптов.
-
Инструменты разработчика: Используйте инструменты разработчика в вашем браузере (обычно F12), чтобы просматривать HTML-код страницы и убедиться, что полезный груз находится в правильном месте. Также можно убедиться, что HTTP-заголовки не запрещают выполнение JavaScript.
-
Используйте отладку: Добавьте дополнительные логические сообщения (например, с помощью
console.log()
) в ваш скрипт, чтобы отследить, срабатывает ли событиеonpointerenter
. -
Документация и исследования: Изучите примеры использования
onpointerenter
и других событий на страницах, возможно, есть дополнительные факторы, которые следует учитывать.
В заключение, для успешного тестирования уязвимости XSS с использованием данного полезного груза, необходимо внимательно следить за тем, куда именно вы вставляете код, тестировать его на различных элементах страницы и учитывать наличие защитных механизмов, которые могут блокировать выполнение скриптов.