Слепой XSS для SSRF

Feb 01 2023
Во время поиска ошибок в частной программе по поиску ошибок я наткнулся на функцию в приложении, которая позволяла создавать PDF-документы. Поскольку пользовательский ввод отражался в сгенерированных PDF-документах, я решил попробовать внедрить полезные данные HTML и XSS.

Во время поиска ошибок в частной программе по поиску ошибок я наткнулся на функцию в приложении, которая позволяла создавать PDF-документы. Поскольку пользовательский ввод отражался в сгенерированных PDF-документах, я решил попробовать внедрить полезные данные HTML и XSS.

Я использовал известный инструмент под названием XSSHunter, который позволяет нам находить слепые уязвимости межсайтового скриптинга. К моему удивлению, моя полезная нагрузка была немедленно выполнена, и я смог получить снимок экрана и следующую информацию о XSSHunter.

Дальнейшее расследование показало, что полезная нагрузка была выполнена по пути к файлу.

«файл:///готенберг/e86fbc55ef893d878821c1bc76c3b1e3/index.html».

Gotenberg — это API с открытым исходным кодом для преобразования документов HTML, Markdown и Office в PDF. Он использует набор настраиваемых механизмов рендеринга для преобразования входного документа в файл PDF. Синтаксический анализатор Gotenberg — это компонент Gotenberg, который берет входной документ и преобразует его в формат, который может быть воспроизведен движками.

При дальнейшем тестировании я обнаружил, что парсер Готенберга уязвим для атак с подделкой запросов на стороне сервера. Мне удалось успешно выполнить полезную нагрузку, которая включала iframe с src, установленным на «file:///etc/passwd» . Это позволило мне просмотреть содержимое файла «/etc/passwd» .

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

Я немедленно сообщил о своих выводах команде безопасности, которая классифицировала уязвимость как высокую. Однако в то же время другой исследователь безопасности также сообщил об уязвимости. В итоге команда решила разделить баунти, и я получил 500 долларов.

Ресурсы

https://media.defcon.org/DEF%20CON%2027/DEF%20CON%2027%20presentations/DEFCON-27-Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf