* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* 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)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Se uma página da web está criando um PDF usando uma 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 **Server XSS**.
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/fazer o download do PDF criado**, então você poderá ver tudo o que você **escrever via JS** (usando `document.write()` por exemplo). Mas, se você **não puder ver** o PDF criado, provavelmente precisará **extrair as informações fazendo uma solicitação web para você** (Blind).
### Geração de PDF popular
* **wkhtmltopdf**: _Esta é uma ferramenta de linha de comando de código aberto que usa o mecanismo de renderização WebKit para converter HTML e CSS em documentos PDF._
* **TCPDF**_: Uma biblioteca PHP para gerar documentos PDF que suporta uma ampla gama de recursos, incluindo imagens, gráficos e criptografia._
* **PDFKit :** _Uma biblioteca Node.js que pode ser usada para gerar documentos PDF a partir de HTML e CSS._
* **iText**: _Uma biblioteca baseada em Java para gerar documentos PDF que suporta uma variedade de recursos, incluindo assinaturas digitais e preenchimento de formulários._
* **FPDF**_: Uma biblioteca PHP para gerar documentos PDF que é leve e fácil de usar._
Qualquer um dos payloads anteriores ou seguintes podem ser usados dentro deste payload SVG. Um iframe acessando um 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 com que o bot carregue 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.
Altere `file:///etc/passwd` para `http://169.254.169.254/latest/user-data`, por exemplo, para **tentar acessar uma página web externa (SSRF)**.
Se o SSRF for permitido, mas você **não conseguir acessar** 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).
Em certos casos, os sites podem implementar mecanismos para detectar e bloquear atividades suspeitas de bots. Um desses mecanismos é o atraso do bot, que consiste em adicionar um atraso entre as solicitações enviadas pelo bot. Isso é feito para imitar o comportamento humano e evitar a detecção automática.
Durante um teste de penetração, é importante levar em consideração o atraso do bot ao realizar solicitações automatizadas. Caso contrário, o site pode detectar o comportamento suspeito e bloquear o bot.
Para contornar o atraso do bot, é possível ajustar o tempo de espera entre as solicitações, tornando-o mais semelhante ao comportamento humano. Isso pode ser feito usando técnicas como atrasos aleatórios ou atrasos baseados em padrões de uso típicos.
É importante lembrar que o objetivo do teste de penetração é identificar vulnerabilidades e fornecer recomendações para melhorar a segurança do sistema. Portanto, é essencial agir de forma ética e respeitar as políticas e diretrizes estabelecidas pelo cliente.
A verificação de portas é uma técnica comum usada durante um teste de penetração para identificar quais portas estão abertas em um sistema alvo. Isso permite que o testador determine quais serviços estão sendo executados e quais portas estão expostas à rede.
Existem várias ferramentas disponíveis para realizar uma verificação de portas, como o Nmap e o Masscan. Essas ferramentas enviam pacotes para as portas do sistema alvo e analisam as respostas para determinar se a porta está aberta, fechada ou filtrada.
Uma vez que as portas abertas são identificadas, o testador pode explorar essas portas em busca de vulnerabilidades conhecidas ou realizar ataques específicos para obter acesso não autorizado ao sistema.
É importante ressaltar que a verificação de portas deve ser realizada apenas em sistemas nos quais você tenha permissão legal para testar. Realizar uma verificação de portas em sistemas sem autorização é ilegal e pode resultar em consequências legais graves.
Essa vulnerabilidade pode ser facilmente transformada em um SSRF (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 clip de papel** para **armazenar o anexo** como um novo arquivo.\
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* 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)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).