0x39 - SSRF in PDF Generators
0x39 - SSRF in PDF Generators
Pentest Tips & Tricks
A01 - Broken Access Control
A01 - Broken Access Control
A02 - Cryptographic Failures
A02 - Cryptographic Failures
A03 - Injection Attacks
A03 - Injection Attacks
A04 – Insecure Design
A04 – Insecure Design
A05 – Security Misconfiguration
A05 – Security Misconfiguration
A06 – Vulnerable Components
A06 – Vulnerable Components
A07 – Identification and Authentication Failures
A07 – Identification and Authentication Failures
Recon & Attack Surface
Recon & Attack Surface
Tooling & Automation
Tooling & Automation
Creative, Strategic, and Mindset
Creative, Strategic, and Mindset
Bug Bounty $$$
Bug Bounty $$$
AI/ML/LLM/MCP
AI/ML/LLM/MCP
Latest Tips & Tricks
Latest Tips & Tricks
Did you know SSRF vulnerabilities are extremely common in applications that generate PDF files using user-provided input (invoices, contracts, reports, etc.)
This happens due to the insecure configuration of the PDF engines that follow/render the payloads injected by the attacker.
In just 10 minutes I found 7 vulnerable online PDF convertors on the first page of Google including wkhtmltopdf, Select.Pdf and PhantomJS
Among other things, SSRF vulnerabilities can be used to
access data behind firewalls
interact with hosts/services on the internal network
read cloud tokens/keys
-
remote code execution
How to do it
Find a feature in the app that generates a PDF file
Identify the piece of data that you can control within the generated file (i.e: firstname, email, address, etc.)
Inject a test payload to check if HTML rendering is enable (for example
<h1>test</h1>will display the wordtestin a larger font)-
Use one of the following payload to load files hosted on the internal network