
Эксплойт proof-of-concept для CVE-2020-11022, DOM-основанной XSS-уязвимости в jQuery версий ниже 3.5.0. Демонстрирует инъекцию полезной нагрузки через метод .html() для запуска межсайтового скриптинга.
Так вот, ребята, CVE-2020-11022 — это уязвимость в jQuery версиях ниже 3.5.0 (или выше). Сама уязвимость CVE-2020-11022 вызывает XSS при использовании манипуляции DOM (например, .html(), .append() и других), позволяя выполнить вредоносный код XSS.
Проверка версии jQuery: Убедитесь, что целевая версия jQuery уязвима. Уязвимость затрагивает версии jQuery ниже 3.5.0 (начиная с версии 3.5.0 ошибка исправлена).
Определение целевых элементов (сбор ID): Соберите (dump) все атрибуты id HTML-элементов на странице. Это делается для поиска элементов, которые потенциально могут использоваться приложением как места (sink) для обработки ввода с помощью методов манипуляции DOM.
Выбор элемента для тестирования: Выберите один ID элемента из предыдущего извлечения. Например, предположим, есть элемент с ID #error-msg.
Выполнение полезной нагрузки: Вызовите манипуляцию DOM, внедрив полезную нагрузку в целевой sink (например, метод .html()).
Синтаксис инъекции: $('#error-msg').html(payload)
<style><style />
onerror сразу выполняется браузером (Triggered/BOOM), вызывая всплывающее окно alert в качестве доказательства (Proof of Concept).