1
anheiyouxia 2013-09-22 15:02:05 +08:00
可以用grep
给你个例子:http://blog.csdn.net/unbutun/article/details/6326598 如果是我的话,我会全部下回来用Beyond Compare之类的工具和源文件进行对比 |
2
nonozone OP @anheiyouxia 主要是文件太多了,目录结构也复杂,上传 尤其是下载挺麻烦的。
|
3
anheiyouxia 2013-09-22 15:56:31 +08:00
@nonozone 如果你用tar打包的话,可以用-exclude参数来排除掉那些你不需要的文件
主要是我觉得Beyond Compare之对比的话直观 当然,不喜欢下回来,就用grep命令也足够了,只不过你不知道是不是所有的木马都是同样的内容 所以我建议你最好再配合一些查杀webshell的工具来排查 |
4
nonozone OP @anheiyouxia
文件都没变动,只是在有些文件头部加了一串代码。目测没有多余文件。 应该是同样的,主要是我对正则不太熟悉,没办法很完整的匹配。grep如果是一段简单的话还知道怎么处理,这段代码对我来说过于复杂了。 不知道有啥比较好的查杀webshell的工具? 谢谢。 |
5
ooxxcc 2013-09-22 16:26:19 +08:00
先grep查找哪些有这个字符串,然后用sed修改……
抛砖 grep -L -r "string1" . | xargs sed -i 's/string1/string1/g' |
7
anheiyouxia 2013-09-22 17:05:15 +08:00
@nonozone 不需要正则表达式
grep -R wordpress_dir --include="*" 'base64_decode' 就可以把wordpress_dir 目录下包含‘base64_decode’的文件都列出来 以前有关注过这类查杀工具,不过现在不知道有什么了,给你找了一个大概的,你看看:http://www.jb51.net/article/29543.htm |
8
anheiyouxia 2013-09-22 17:06:03 +08:00
@nonozone 另外你也可以参考一下此文:http://www.jincon.com/detail-52.html
|
9
nonozone OP @anheiyouxia 用简单的grep就可以列出来了,关键是怎么把这一段弄掉,我发现这好像就是在第一行,,并且后面还有N行空格,怎么用命令匹配之后,直接删掉第一行呢?
|
10
anheiyouxia 2013-09-22 19:07:38 +08:00
@nonozone 正则表达式就帮不了你了。不过,这应该不多吧?不多的话,就直接手动吧,用正则这些,怕误伤吧?
|
12
9hills 2013-09-22 19:25:33 +08:00
另外我给lz一个一行命令,解决这个问题
find 目录/ -type f | xargs -i replace "这里是你要替换的字符串" "" replace不做正则表达式展开,so一般不会有问题,另外字符串外部一定要加双引号或者单引号(内部的双引号和单引号对应转义即可) |
13
9hills 2013-09-22 19:25:49 +08:00
晕,少了一部分
find 目录/ -type f | xargs -i replace "这里是你要替换的字符串" "" -- {} |