<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
Se uma página da web está 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**.\
Portanto, se o **bot criador de PDF encontrar** algum tipo de **tags HTML**, ele vai **interpretá-las**, e você pode **abusar** desse comportamento para causar um **XSS do Lado do Servidor**.
Por favor, observe que as tags `<script></script>` nem sempre funcionam, então você precisará de um método diferente para executar JS (por exemplo, abusando de `<img` ).\
Além disso, observe que em uma exploração regular você será **capaz de ver/baixar o PDF criado**, então você poderá ver tudo o que você **escreve via JS** (usando `document.write()` por exemplo). Mas, se você **não puder ver** o PDF criado, provavelmente precisará **extrair a informação fazendo uma solicitação web para você** (Cego).
- **wkhtmltopdf** é conhecido por sua capacidade de converter HTML e CSS em documentos PDF, utilizando o motor de renderização WebKit. Esta ferramenta está disponível como uma utilidade de linha de comando de código aberto, tornando-a acessível para uma ampla gama de aplicações.
- **TCPDF** oferece uma solução robusta dentro do ecossistema PHP para geração de PDF. É capaz de lidar com imagens, gráficos e criptografia, mostrando sua versatilidade para criar documentos complexos.
- Para aqueles que trabalham em um ambiente Node.js, **PDFKit** apresenta uma opção viável. Ele permite a geração de documentos PDF diretamente a partir de HTML e CSS, fornecendo uma ponte entre conteúdo da web e formatos imprimíveis.
- Desenvolvedores Java podem preferir o **iText**, uma biblioteca que não só facilita a criação de PDF, mas também suporta recursos avançados como assinaturas digitais e preenchimento de formulários. Seu conjunto abrangente de recursos o torna adequado para gerar documentos seguros e interativos.
- **FPDF** é outra biblioteca PHP, distinta por sua simplicidade e facilidade de uso. É projetado para desenvolvedores que procuram uma abordagem direta para a geração de PDF, sem a necessidade de recursos extensivos.
Qualquer um dos payloads anteriores ou seguintes podem ser usados dentro deste payload SVG. Um iframe acessando o subdomínio Burpcollab e outro acessando o endpoint de metadados são colocados como exemplos.
A melhor maneira de explorar essa vulnerabilidade é abusar dela para fazer o bot carregar um script que você controla localmente. Em seguida, você poderá alterar o payload localmente e fazer com que o bot o carregue com o mesmo código todas as vezes.
Se o SSRF for permitido, mas você **não consegue alcançar** um domínio ou IP interessante, [verifique esta página em busca de possíveis bypasses](../ssrf-server-side-request-forgery/url-format-bypass.md).
Essa vulnerabilidade pode ser facilmente transformada em um SSRF (pois você pode fazer o script carregar recursos externos). Então tente explorá-la (ler alguns metadados?).
Existem alguns motores HTML 2 PDF que permitem **especificar anexos para o PDF**, como o **PD4ML**. Você pode abusar dessa funcionalidade para **anexar qualquer arquivo local** ao PDF.\
Para abrir o anexo, abri o arquivo com o **Firefox e cliquei duas vezes no símbolo do clipe de papel** para **armazenar o anexo** como um novo arquivo.\
Capturando a **resposta em PDF** com o burp também deve **mostrar o anexo em texto claro** dentro do PDF.
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).