我想创建一个正则表达式来删除一些巨大的PHP代码(被黑客攻击)。
这里可以看到代码 click here for pastebin file
我想删除的是使用它:
find /home \( -name "*.html" -o -name "*.php" \) -exec sed -i.bak 's/<?php $oqwjihijbu = '($GLOBALS["%x61%156%x75%156%x61"]))))//g' \{\} \;
任何帮助都将非常感谢!
答案 0 :(得分:1)
为了实现预期目标,正则表达式需要对其元字符进行转义(即? $ [ ]
):
find /home \( -name "*.html" -o -name "*.php" \) \
-exec sed -i.bak \
's/<\?php \$oqwjihijbu = \'(\$GLOBALS\["%x61%156%x75%156%x61"\]))))//g' {} \;
但即便如此,你只是在注入攻击的最初阶段删除了一些PHP代码,看起来它会留下一个格式错误的PHP文件无论如何都无法运行。删除完整的攻击代码几乎肯定比使用单个sed
表达式更多。
我担心你在这里受到伤害的世界,并建议你擦拭网络服务器以及从头开始重新安装网站代码会好得多。