phar:// deserialization
バグバウンティのヒント: Intigritiにサインアップしてください。これは、ハッカーによって作成されたプレミアムバグバウンティプラットフォームです!今すぐhttps://go.intigriti.com/hacktricksに参加して、最大**$100,000**のバウンティを獲得し始めましょう!
Phar ファイル(PHPアーカイブ)ファイルには、シリアル化された形式のメタデータが含まれているため、これを解析すると、このメタデータがデシリアライズされ、PHPコード内のデシリアライゼーション脆弱性を悪用しようとすることができます。
この特性の最も良い点は、**file_get_contents()
、fopen()
、file()
、file_exists()
、md5_file()
、filemtime()
、filesize()
**など、PHPコードを評価しないPHP関数を使用していても、このデシリアライゼーションが発生することです。
したがって、phar://
プロトコルを使用して、PHPウェブが任意のファイルのサイズを取得する状況を想像してみてください。そしてコード内で以下のようなクラスを見つけた場合を考えてみてください:
pharファイルを作成して、次のようにしてこのクラスを悪用して任意のコマンドを実行することができます:
JPGのマジックバイト(\xff\xd8\xff
)がpharファイルの先頭に追加され、可能性のあるファイルアップロード****制限をバイパスすることに注意してください。
次のコマンドでtest.phar
ファイルをコンパイルします:
そして、脆弱なコードを悪用してwhoami
コマンドを実行します:
参考文献
バグバウンティのヒント: Intigriti に サインアップ してください。これは、ハッカーによって作成されたプレミアムな バグバウンティプラットフォーム です!https://go.intigriti.com/hacktricks で今すぐ参加し、最大 $100,000 のバウンティを獲得しましょう!
Last updated