
CVE-2017-15715の概念実証エクスプロイト。末尾の改行文字を使用して任意のPHPファイルを実行することで、Apache HTTPD mod_phpファイルアップロードバイパスを示します。
whs 4期 コンテナ課題
Apache HTTPDは、mod_phpを介してPHPウェブページを実行できる広く使われているHTTPサーバです。 バージョン2.4.0から2.4.29までは解析の脆弱性が存在し、ファイル名が.phpで終わる場合に1.php\x0APHPファイルとして認識され、攻撃者が特定のサーバセキュリティポリシーを回避できる可能性があります。
https://httpd.apache.org/security/vulnerabilities_24.html https://security.elarlang.eu/cve-2017-15715-apache-http-server-filesmatch-bypass-with-a-trailing-newline-at-the-end-of-the-file-name.html
以下のコマンドを実行して、脆弱なApache HTTPDサーバを構築します ''' docker compose build docker compose up -d '''
サーバが起動すると、Apacheは自分のIPアドレスに基づいて生成された http://my-ip:8080 で実行されます。
まず、1.phpというファイルを送信すると、セキュリティチェックに引っかかり、bad fileというメッセージとともにリクエストが拒否されることを確認できます。

しかし、改行文字を追加して再度1.phpを送信すると、正常にアップロードされたことを確認できます。 (Burp suiteのHex値で名前の横に0aを追加する方法で行いました。)

'/1.php%0a' にアクセスすると、適切なPHP拡張子がないにもかかわらず、PHPファイルとして正常にパースされます。これはパースの脆弱性が存在することを確認させます。
