# Server Side XSS (Dynamic PDF)
{{#include ../../banners/hacktricks-training.md}}
## Server Side XSS (Dynamic PDF)
Se uma página da web estiver criando um PDF usando entrada controlada pelo usuário, você pode tentar **enganar o bot** que está criando o PDF para **executar código JS arbitrário**.\
Assim, se o **bot criador de PDF encontrar** algum tipo de **tags HTML**, ele vai **interpretá-las**, e você pode **explorar** esse comportamento para causar um **Server XSS**.
Por favor, note que as tags `` nem sempre funcionam, então você precisará de um método diferente para executar JS (por exemplo, explorando `
```
### SVG
Qualquer um dos payloads anteriores ou seguintes pode ser usado dentro deste payload SVG. Um iframe acessando o subdomínio Burpcollab e outro acessando o endpoint de metadados são apresentados como exemplos.
```markup
```
Você pode encontrar muitos **outros payloads SVG** em [**https://github.com/allanlw/svg-cheatsheet**](https://github.com/allanlw/svg-cheatsheet)
### Divulgação de caminho
```markup
```
### Carregar um script externo
A melhor maneira de explorar essa vulnerabilidade é abusar dela para fazer o bot carregar um script que você controla localmente. Assim, você poderá alterar a carga útil localmente e fazer o bot carregá-la com o mesmo código toda vez.
```markup
')"/>
```
### Ler arquivo local / SSRF
> [!WARNING]
> Altere `file:///etc/passwd` para `http://169.254.169.254/latest/user-data` por exemplo para **tentar acessar uma página da web externa (SSRF)**.
>
> Se SSRF for permitido, mas você **não conseguir acessar** um domínio ou IP interessante, [verifique esta página para possíveis contornos](../ssrf-server-side-request-forgery/url-format-bypass.md).
```markup
```
```markup
```
```markup