LFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosure
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
compress.zlib://
en PHP_STREAM_PREFER_STDIO
'n Lêer wat geopen is met die protokol compress.zlib://
met die vlag PHP_STREAM_PREFER_STDIO
kan voortgaan om data te skryf wat later na die verbinding kom na dieselfde lêer.
Dit beteken dat 'n oproep soos:
Sal 'n versoek stuur wat vra vir http://attacker.com/file, dan mag die bediener die versoek met 'n geldige HTTP-antwoord beantwoord, die verbinding oop hou, en ekstra data 'n rukkie later stuur wat ook in die lêer geskryf sal word.
Jy kan daardie inligting in hierdie deel van die php-src kode in main/streams/cast.c sien:
Hierdie CTF is opgelos met die vorige truuk.
Die aanvaller sal die slagoffer se bediener 'n verbinding laat oopmaak wat 'n lêer van die aanvaller se bediener lees met behulp van die compress.zlib
protokol.
Terwyl hierdie verbinding bestaan, sal die aanvaller die pad na die tydelike lêer wat geskep is uitvoer (dit is gelekt deur die bediener).
Terwyl die verbinding steeds oop is, sal die aanvaller 'n LFI benut wat die tydelike lêer laai wat hy beheer.
Daar is egter 'n kontrole in die webbediener wat voorkom dat lêers wat <?
bevat, gelaai word. Daarom sal die aanvaller 'n Race Condition misbruik. In die verbinding wat steeds oop is, sal die aanvaller die PHP payload STEL NA die webbediener gekontroleer het of die lêer die verbode karakters bevat, maar VOORDAT dit sy inhoud laai.
Vir meer inligting, kyk na die beskrywing van die Race Condition en die CTF in https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includer
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)