根据php木马中的一些特征字段进行搜索,就可以搜出可能含有木马的的文件,特征字段可自行根据需要添加。
find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc"> /tmp/php.txt
如果只列出含木马的文件
find ./ -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval\(gzuncompress\(base64_decoolcode|eval\(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq
find . -type f -name "*.php"|xargs grep 'versio:b.01' -l >list.0320
需要注意的是,以上查出来的文件,有可能是正常的php文件,需要你根据实际甄别处理(批量替换),不要误杀了(处理以前注意备份俄)。
grep方法:
# grep -r –include=*.php ‘[^a-z]eval($_POST’ . > /tmp/eval.txt
# grep -r –include=*.php ‘file_put_contents(.*$_POST\[.*\]);’ . > /tmp/file_put_contents.txt
查找最近一天被修改的PHP文件
# find -mtime -1 -type f -name \*.php
修改网站的权限
# find -type f -name \*.php -exec chmod 444 {} \;
# find ./ -type d -exec chmod 555{} \;
附:linux下的批量查找和替换。
find . -type f -name “*.html”|xargs grep ‘yourstring’
2:查找并用perl One-liners替换
find -name ‘要查找的文件名’ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g’
下 面这个例子就是将当前目录及所有子目录下的所有*.shtml文件中的”<iframe src=http://com-indexl.com/ask/admin.html width=0 height=0></iframe>“替换为”(空)“.
find . -type f -name “*.shtml”|xargs perl -pi -e ‘s|<iframe src=http://com-indexl.com/ask/admin.html width=0 height=0></iframe>| |g’
perl -pi -e
在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.
从命令行中使用Perl 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。