前段时间有个服务器被挂了黑链,这是我工作中安全方面的疏忽。不过挂黑链真的很讨厌啊!!!接触过黑链工具,没想到这次自己被挂了……悲剧!把服务器上涉及安全的都处理了一下,希望下次不会再这么悲剧!另外,挂黑链的人的姓名,住址,电话,QQ等信息都在我手里了,这次就算了,下次不会这么轻松了!

在清理黑链的过程中写了一个脚本,可以快速准确清理掉被添加的黑链。代码如下:

#!/bin/bash
# By Chen Zhidong
# http://sillydong.com
# Email:njutczd+gmail.com

#Begin
FILES=`find ./ -type f -name "*.php" -or -name "*.htm" -or -name "*.html" |xargs fgrep -s -l "<script>#cool" |xargs ls -l | awk '{print $9}'`
for file in $FILES
do
    cp $file ${file}.bad
    sed -i 's/<style> #cool.*.display=\"none\"<\/script><\/div>//g' $file
done
exit 0
#End

使用之前请先研究一下所有黑链的特点,并且将sed中操作的正则表达式修改成针对你手中黑链的。

正则表达式请尽量严谨,以免伤及无辜!如果真不幸伤及了无辜,用备份的*.bad文件恢复一下。