Apache-2.2

查找來自 Apache/PHP 的出站連接

  • May 26, 2016

一個客戶網站最近遭到入侵,我們正在分析攻擊造成的損害和風險。我們找到了一個腳本,它“呼叫”到一個我們可以在日誌中輕鬆找到的 URL,但它是否被記錄,在哪裡?

/usr/local/apache/logs/access_log

出站連接(來自file_get_contents帶有 URL 包裝器的連接,如 HTTP)是否記錄在此文件或任何地方?

您可以修改 suhosin 以執行實際模擬的模擬模式,然後將用於打開外部連接的命令列入黑名單。前幾天我發布了程式碼修復,但是該執行緒已被刪除。

suhosin-0.9.27/execute.c第1588行,註釋掉goto execute_internal_bailout;

if(SUHOSIN_G(func_blacklist) != NULL) {
   if(zend_hash_exists(SUHOSIN_G(func_blacklist), lcname, function _name_strlen+1)) {
       suhosin_log(S_EXECUTOR, "function within blacklist called: %s()", lcname);
       // goto execute_internal_bailout;
   }
}

(維基破壞了該程式碼,不會花時間去嘗試解決這個問題)

模擬模式是預設的:

suhosin.simulation = on
suhosin.executor.func.blacklist = include,include_once,require_once,open,file_get_contents

添加您想要記錄的任何其他命令。您將獲得如下日誌條目:

6 月 24 日 06:32:07 machinexx suhosin

$$ 1086 $$: ALERT-SIMULATION - 黑名單中的函式呼叫:exec()(攻擊者'11.22.71.67’,文件’/var/www/domain.com/tp/top_thumb.php’,第283行) 從那裡,至少您有一組目標文件可供查看。我不建議以這種方式使用 suhosin,但是,當您在大海撈針時,有時您需要使工具按應有的方式工作。

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