<summary><strong>Aprenda hacking no 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ê quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Participe do grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou do grupo [**telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Felizmente, o PHP é frequentemente implantado via PHP-FPM e Nginx. O Nginx oferece um recurso de [buffering de corpo do cliente](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size) que muitas vezes é negligenciado, o qual escreverá arquivos temporários se o corpo do cliente (não limitado a post) for maior do que um determinado limite.
Esse recurso permite que LFIs sejam explorados sem qualquer outra forma de criação de arquivos, se o Nginx for executado como o mesmo usuário do PHP (muito comumente feito como www-data).
É visível que o **tempfile é desvinculado imediatamente** após ser aberto pelo Nginx. Felizmente, **procfs pode ser usado para ainda obter uma referência** ao arquivo excluído por meio de uma corrida:
Nota: Não é possível incluir diretamente `/proc/34/fd/15` neste exemplo, pois a função `include` do PHP resolveria o caminho para `/var/lib/nginx/body/0000001368 (deleted)`, que não existe no sistema de arquivos. Esta pequena restrição pode, felizmente, ser contornada por alguma indireção como: `/proc/self/fd/34/../../../34/fd/15`, que finalmente executará o conteúdo do arquivo deletado `/var/lib/nginx/body/0000001368`.
Quando exploramos uma vulnerabilidade de Local File Inclusion (LFI), podemos às vezes transformar isso em execução remota de código (RCE). Uma técnica envolve o uso de arquivos temporários do Nginx.
O Nginx cria arquivos temporários quando lida com solicitações que incluem dados POST. Se pudermos fazer o upload de um arquivo PHP malicioso e, em seguida, incluí-lo via LFI antes que o Nginx o exclua, podemos executar o código PHP.
Este é de [https://lewin.co.il/winning-the-impossible-race-an-unintended-solution-for-includers-revenge-counter-hxp-2021/](https://lewin.co.il/winning-the-impossible-race-an-unintended-solution-for-includers-revenge-counter-hxp-2021/)
# This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/<nginx pid 1>/cwd/proc/<nginx pid 2>/root/proc/<nginx pid 3>/root
<summary><strong>Aprenda hacking no 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ê quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).