<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
Podrazumevano, kada se datoteka otpremi u PHP (čak i ako se ne očekuje), generisaće se privremena datoteka u `/tmp` sa imenom poput **`php[a-zA-Z0-9]{6}`**, iako sam video neke Docker slike gde generisane datoteke ne sadrže cifre.
Druge tehnike se oslanjaju na napade na PHP protokole (nećete moći ako kontrolišete samo poslednji deo putanje), otkrivanje putanje datoteke, zloupotrebu očekivanih datoteka, ili **pravljenje da PHP doživi grešku segmentacije tako da privremene datoteke koje su otpremljene nisu obrisane**.\
Ova tehnika je **veoma slična prethodnoj ali bez potrebe za pronalaženjem nultog dana**.
U ovoj tehnici **potrebno je samo kontrolisati relativnu putanju**. Ako uspemo da otpremimo datoteke i da **LFI nikada ne završi**, imaćemo "dovoljno vremena" da **bruteforsujemo otpremljene datoteke** i **pronađemo** bilo koju od njih.
* **Vreme isteka za PHP zahtev**. Idealno bi bilo da bude večno ili da ubije PHP proces bez brisanja privremeno otpremljenih datoteka, inače će takođe biti problem
Dakle, kako možete **da učinite da PHP uključivanje nikada ne završi**? Samo uključivanjem datoteke **`/sys/kernel/security/apparmor/revision`** (**nažalost nije dostupno u Docker kontejnerima**).
Podrazumevano, Apache podržava **150 istovremenih veza**, prema [https://ubiq.co/tech-blog/increase-max-connections-apache/](https://ubiq.co/tech-blog/increase-max-connections-apache/) moguće je povećati ovaj broj do 8000. Pratite ovo da biste koristili PHP sa tim modulom: [https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-ubuntu-18-04](https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-ubuntu-18-04).
Ako se Apache server poboljša i možemo zloupotrebiti **4000 veza** (na pola puta do maksimalnog broja). Mogli bismo kreirati `3999*20 = 79980`**fajlova** i **broj** bi bio **smanjen** na oko **19.7h** ili **6.9h** (10h, 3.5h 50% šanse).
Ako umesto korišćenja regularnog php moda za apache za pokretanje PHP skripti, **web stranica koristi PHP-FMP** (što poboljšava efikasnost web stranice, pa je često pronaći), postoji nešto drugo što se može uraditi da se poboljša tehnika.
Ovaj parametar označava maksimalni broj sekundi **kada****zahtev ka PHP mora biti završen** (beskonačno podrazumevano, ali **30s ako je parametar odkomentarisan**). Kada zahtev bude obrađen od strane PHP-a nakon navedenog broja sekundi, on je **ubijen**. To znači da ako je zahtev bio u procesu otpremanja privremenih fajlova, zbog toga što je **php obrada zaustavljena**, ti **fajlovi neće biti obrisani**. Dakle, ako možete da napravite zahtev koji traje toliko dugo, možete **generisati hiljade privremenih fajlova** koji neće biti obrisani, što će **ubrzati proces njihovog pronalaženja** i smanjiti verovatnoću DoS-a platforme konzumiranjem svih veza.
Dakle, da biste **izbegli DoS** pretpostavimo da će **napadač koristiti samo 100 veza** istovremeno i maksimalno vreme obrade PHP-a od strane **php-fmp** (`request_terminate_timeout`**)** je **30s**. Dakle, broj **privremenih fajlova** koji mogu biti generisani **po sekundi** je `100*20/30 = 66.67`.
Zatim, napadač bi mogao koristiti te **100 veza** da izvrši **bruteforce pretragu**. \*\*\*\* Pretpostavljajući brzinu od 300 zahteva/s vreme potrebno za eksploataciju je sledeće: