我想在 Linux 机器上搜索可疑的 php 文件。目前我有一个针对大字符串的解决方案,但几天前我发现了一个可疑脚本的新版本。新版本不再只是在一长行中设置变量,而是将行分割成块并将其连接起来。
这是一个示例:
$dlujpdi =
'KXskXXxbZSgnb2R5cmltcHViTkVDIHBvbWVvLCR0clRoPmRvc2V7TWVzJGZpb25zRV9'.
'MICRsbWUoaXMtbmV3Y2Uoan07cGVucy0+dD0kY291KCdtZWxkcnJwaGlzJy4nZighLC'.
'RwdGVkLT5TZXcgaWYobVsxdGhpKCRwZGRybiBmJHBhbiAkdGhpJHRobmQpQ2hhJGFkZ'.
'XQsdGVkZCgnKXtyZXI9fXxcdXJudGlvbmU7b2RlaGVsaXZlOV17ZWRDLicodHIob24g'.
'YnJldHRhb21IY3RpdGlvcy0+cy0+TVRQKCRkW109KTt9JHN0ZHkudGhpaGFybWF0J0N'.
'vJyAnYWluJGJvc19rXC9cJG1zYm9kdGh0PnZhbiI7UyopJHN0bGVyJyc7cycpYSl7Py'.
'8iaXMtbWUpLT5zKHN0KD8hOkRFcy0+cmV0QWx0c3MiYW1laWYoKS0kaGlzSCcsJGJvK'.
'DIsNzdcc3RyLjIzJycsX2Nvcy0+ZXNwPmFkc2FnezY1OjpEPnRlb2R5bWF4aW1lcHVi'.
等等。这就是为什么我想搜索这种模式,其中 Base64 部分与点连接在一起,如下所示。有没有一种方法可以使用 Linux Tools 来做到这一点,而无需编写新的短程序?
答案1
在 Linux 系统上,您可以使用类似以下内容:
grep -Erl '[[:alnum:]/+]{20,}' /path/to/php/parent/directory/*
它告诉 grep 递归地查找包含 Base64 字母表中至少 20 个连续字符的文件;匹配的文件会打印其文件名。根据口味调整20。