Apache-2.2
查找來自 Apache/PHP 的出站連接
一個客戶網站最近遭到入侵,我們正在分析攻擊造成的損害和風險。我們找到了一個腳本,它“呼叫”到一個我們可以在日誌中輕鬆找到的 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,但是,當您在大海撈針時,有時您需要使工具按應有的方式工作。