2

実行しているいくつかのサイトから次のエラーを受け取りました。

Application_Error イベントでキャッチされたエラー

エラー: https:///phppath/php?-d+allow_url_include=on+-d+safe_mode=off+-d+suhosin.simulation=on+-d+disable_functions=""+-d+open_basedir=none+-d+auto_prepend_file =php://input+-n

エラー メッセージ:潜在的に危険な Request.Form 値がクライアントから検出されました (="Stack Trace: at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)

明らかに、ASP.NET はこれを拒否しました。これは良いことです。

しかし、PHPタイプのチャップではなく、私が理解していないのは、それがやろうとしていることですか?

4

1 に答える 1

1

攻撃者は HTTP リクエスト本文で PHP コードを送信し、Web サーバーでそのコードを実行しようとしています。

php://inputリクエストボディ (POST データ) を参照します。このauto_prepend_fileディレクティブにより、スクリプトはそれと同じ方法で PHP コードを組み込むことができ、機能しinclude()ますrequire()。成功した場合、アップロードされたコードが先頭に追加されて実行されます。

ペイロードには、バックドア スクリプトと、ハッキングが成功したことを開発者に知らせるコール ホームのコードが含まれている可能性があります。

これは、人間が手動で試みたのではなく、ランダムにサーバーを選択したボットである可能性が最も高いです。

攻撃者が悪用しようとしているバグはCVE-2012-1823です。

5.3.12 より前の PHP および 5.4.2 より前の 5.4.x の sapi/cgi/cgi_main.c は、CGI スクリプト (別名 php-cgi) として構成されている場合、= (等号) 文字のないクエリ文字列を適切に処理しません。これにより、リモートの攻撃者がクエリ文字列にコマンドライン オプションを配置することで任意のコードを実行できるようになります。これは、「d」の場合に特定の php_getopt をスキップしないことに関連しています。

http://www.cvedetails.com/cve/CVE-2012-1823

于 2013-06-13T07:31:35.253 に答える