首页 > 解决方案 > 特定 php 恶意软件模式的 Grep

问题描述

我试图找出难以与单一模式匹配的恶意软件的 grep。恶意文件中的一行如下所示:

$bhbwjhu[11].$bhbwjhu[15].$bhbwjhu[34].$bhbwjhu[23].$bhbwjhu[30].$bhbwjhu[6].$bhbwjhu[3].$bhbwjhu[34].$bhbwjhu[31]

尝试过这样的事情,但显然,我的 grep 技能很差(这会产生无效的范围结束错误):

find . -type f | xargs grep -s -l "\$[A-z]*\[[0-9]*\]\.\$[A-z]*\[[0-9]*\]\.\$[A-z]*\[[0-9]*\]"

有什么方法可以在文件中搜索那一堆数组元素?

grep 版本是

grep (GNU grep) 2.20

Linux 版本 2.6.32-896.16.1.lve1.4.54.el6.x86_64

标签: shelldebuggingsshcommand-linegrep

解决方案


我建议使用以下内容:

find . -type f -print0 | xargs -0 grep -s -l '\$[[:alpha:]]*\[[[:digit:]]*\]\.\$[[:alpha:]]*\[[[:digit:]]*\]\.\$[[:alpha:]]*\[[[:digit:]]*\]'

使用字符类比使用范围更安全。我还建议使用带空格的文件名-print0xargs -0这样就不会弄乱你的命令。另请参阅此说明


推荐阅读