XSS через кодировку Base64 в JSON

XSS через кодировку Base64 в JSON

Этичный Хакер

Это одна из моих очень интересных и неожиданных находок при тестировании системы трэкинга приложений.

Пусть целью будет target.com, и в разрешённой области тестирования был только один поддомен. Давайте назовем его sub.target.com. Каждый раз, когда вы посещаете sub.target.com, он будет перенаправлять вас на sub.target.com/members/index.php, а после входа в систему основной URL-адрес будет sub.target.com/members/modules/.

Я провёл некоторую базовую разведку по приложению и не мог найти ничего стоящего в течение почти недели. Но затем, я подумал, что следует проверить не только базовый URL-адрес, упомянутый выше, но и sub.target.com/, используя общий список слов для PHP файлов.

Выполнив это, я нашел интересную конечную точку sub.target.com/i.php, которая выглядела следующим образом:

В нижней части мы видим URL адрес с GET параметром settings, который, кажется, принимает JSON в кодировке base64. Пробуем раскодировать:

Декодированный Base64

Круто, теперь давайте попробуем ввести HTML код в некоторые значения и закодировать это обратно в base64:

XSS payload в JSON

Далее, используем это закодированное значение base64 в параметре settings, чтобы получить всплывающее окно XSS:

Всплывающее окно XSS

На этом все, спасибо за просмотр!


Report Page