Использование grep для поиска всех php-файлов, содержащих переменные, превышающие указанную длину - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть файлы с вредоносным кодом, я изо всех сил пытаюсь найти только те файлы, которые содержат вредоносный код.

Например, код в файле выглядит следующим образом:

<?php

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

СейчасЯ пытаюсь найти этот файл с помощью grep с помощью команды

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

, но в этом списке перечислены многие другие файлы, поэтому как я могу использовать шаблон grep для вывода списка файлов, который содержит только код, подобный примеру.

1 Ответ

0 голосов
/ 20 сентября 2018

Текст 'dHVyXFwub2R5X3F1MCk7ZHlDc2V7KSl7KCRldGhpbmN0dGg7a2V5cm4gQ2hhaXMteVs'. имеет следующий шаблон:

  • ', одиночная кавычка, затем
  • 67 буквенно-цифровых или + символов, затем
  • ' символ снова и
  • . (точка) символ.

Вы можете сопоставить этот шаблон с

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

Вот демонстрация того, как он соответствует (квантификатор интервал / диапазон / ограничение не экранирован, так как выбранная опция двигателя regex101 - PCRE).

Если может быть более 67 символов, используйте \{67,\} квантификатор, чтобы соответствовать 67 символов или больше .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...