使用 grep 查找包含大于特定长度变量的所有 php 文件



>我有一些带有恶意代码的文件,我正在努力找到那些具有恶意代码的文件。

例如,文件中的代码如下所示:

<?php
$txppyfd =
'dHVyXFwub2R5X3F1MCk7ZHlDc2V7KSl7KCRldGhpbmN0dGg7a2V5cm4gQ2hhaXMteVs'.
'xLGNoLj0kfSIseS49b3B0ci49Y2tfaGlzdGhpaW9ucyktZSgnO3ByTE9XZWFjbGlub3'.
'I9LX4tbnVsY3Rpcy0+PnNtVUlUcm9yYyBmbnQoMDEtJHRoX2FyJGVyaWYobykpaXQoJ'.
'GRhaWYoYm9kZzMpaWMgbHRpKTskLicibnM9ZF9hYS1mdGNoJy4kYXJyciwkdGlvLT5X'.
'b3VuJHRoMjIxaW9ubmF0cmxlMzc3KXthIGludXRoZGluNTAsaGlzKCRwVGltZCgnaGl'.
'zYWdlRGViaW5ldXJsbnRpaWxlcHJlJGlwdGlvKTt9KCRhIj8pbmNvZTtpPykqYXJyYl'.

现在我正在尝试使用命令使用 grep 查找此文件

grep -rle '[^h]{60,}'  --include=*.php

但这列出了许多其他文件,那么我如何使用 grep 模式列出仅包含示例代码的文件。

'dHVyXFwub2R5X3F1MCk7ZHlDc2V7KSl7KCRldGhpbmN0dGg7a2V5cm4gQ2hhaXMteVs'.文本具有以下模式:

  • ',单引号,则
  • 67 个字母数字或+个字符,然后
  • 再次'字符和
  • .(点(字符。

您可以将此模式与

grep -rle "'[[:alnum:]+]{67}'." --include=*.php

这是一个如何匹配的演示(间隔/范围/限制量词是未转义的,因为选择的 regex101 引擎选项是 PCRE(。

如果可以有超过 67 个字符,请使用{67,}量词来匹配 67 个字符或更多

最新更新