有数以万计的WordPress网站由于其使用的一个插件中含有关键的漏洞,从而使得网站面临着被攻击的风险。该插件可以使用户更方便的在网站上使用PHP代码。
研究人员发现,其中的一个漏洞允许任何级别的认证用户,甚至是订阅者和客户执行代码,完全接管安装了该插件的网站。
来自Wordfence Threat Intelligence的研究人员在周二发表的一篇博文中发现了PHP Everywhere中的三个关键漏洞,该插件安装在超过3万个WordPress网站上。该插件的作用也恰如其名,它允许WordPress网站开发人员将PHP代码放在网站的各种组件中,包括文章页面、帖子和侧边栏等位置。
Wordfence的Ram Gall在帖子中写道:”这些漏洞非常容易被利用,而且还可以被用来快速接管一个网站。”
这三个漏洞主要是由于插件中的默认设置造成的,在Wordfence通过合规的披露程序通知了开发人员后,在新版的插件中,这些漏洞已经得到了修复。
Wordfence团队在1月4日向PHP Everywhere的开发者发送了电子邮件,并很快得到了答复。他随后于1月10日发布了一个重建的插件版本,修复了所有漏洞。Wordfence敦促所有使用该插件的WordPress网站的管理者立即安装新版本的插件。
关键性漏洞
研究人员写道,其中最危险的漏洞是订阅用户可以通过短代码进行远程代码执行,该漏洞与插件的功能有关,并且该漏洞被追踪为CVE-2022-24663,在CVSS也上获得了9.9的评级。
不幸的是,WordPress允许任何认证用户通过parse-media-shortcode AJAX来执行短代码,一些插件也允许未经认证的短代码执行,因此,任何登录的用户,甚至是几乎没有任何权限的用户,比如订阅者,都有可能通过发送一个参数为[php_everywhere]
研究人员发现,在WordPress网站上执行任意的PHP代码,通常可以完全接管网站。
另外两个漏洞分别被追踪为CVE-2022-24664和CVE-2022-24665。Gall解释说,这两个漏洞的CVSS评分与短码漏洞相同,但研究人员认为其严重程度稍低。
前者是订阅用户通过metabox进行远程代码执行,该漏洞与PHP Everywhere的一个默认设置有关,该设置允许所有具有edit_posts能力的用户使用PHP Everywhere metabox。
不幸的是,这意味着不受信任的用户都可以使用PHP Everywhere metabox,创建一个帖子,然后在PHP Everywhere metabox中添加PHP代码,预览该帖子,实现网站的任意代码执行。

第三个漏洞,订阅用户通过Gutenberg块进行远程代码执行,与PHP Everywhere的一个默认设置有关,该设置允许所有具有edit_posts能力的用户使用PHP Everywhere Gutenberg块。
研究人员解释说:”虽然可以将其设置为管理员专用,但由于<=2.0.3版本无法在不禁用Gutenberg块编辑器的情况下进行检查,所以默认情况下并没有设置。”
他说,不幸的是,这种设置意味着用户可以在网站上执行任意的PHP代码。方法也只是通过创建一个帖子,添加PHP everywhere块并在其中添加代码,然后预览该帖子。
风险和保护措施
对于使用开源内容管理系统建立网站的开发者来说,WordPress插件一直是一个痛点,经常会有威胁到WordPress网站安全的漏洞。
上个月,研究人员发现三个WordPress插件存在同样的漏洞,可以让攻击者在网站管理员的操作下,在有漏洞的网站上更新任意的网站选项,并完全接管它。而在去年10月,一个名为Hashthemes Demo Importer的WordPress插件则允许订阅者将网站的内容完全清除。
事实上,根据RiskBased Security的研究人员,可利用的WordPress插件漏洞数量在2021年出现了爆炸性增长,增加了三位数。
就其本身而言,Wordfence已经向受PHP Everywhere漏洞影响的用户提供了自己的缓解措施。该公司在研究人员通知开发者的同一天,及时向其高级用户提供了修复PHP Everywhere漏洞的防火墙规则。该公司后来将防火墙扩展到其他客户以及免费版Wordfence的用户。
根据该帖子,Wordfence还通过其Wordfence Care服务向受漏洞影响的WordPress用户提供事件响应服务。
如何调整wordpress addtoany按纽到特定的位置?
把下列代码放到你指定的位置
在node.js领域中哪一个框架用来架构API比较好
程序 or 框架?程序是已经成型的应用,你需要的是为它搭建环境、添加配置,然后就可以运行起来;框架则是应用的骨架,你需要为它添加数据模型、业务逻辑,它才能成为应用,开始提供服务。 事实上,对于Web开发来说,程序和框架的区别正越来越模糊,比如几乎妇孺皆知的Wordpress,它是一个博客程序,但它丰富的插件以及高度的 自定义能够支持很大程度上的二次开发,在这点上它比起一些PHP框架也并不逊色。 我个人认为,如果重心在于提供服务而不是掌握技术,有WordPress 这样的程序是没有必要使用框架的。 可惜的是,由于Nodejs还很年轻,目前还没有WordPress这样的程序,因此目前在开发里,如果想做出自己想要的作品,框架是必然的选择。 如果是某些特定类型的应用,可以尝试一些开源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。 回到顶部 Web框架有哪些?里的Web框架分为API框架和Web应用框架。 前者能够开发出RESTful的API,后者也能开发出RESTful API,但还包括模板、渲染等为前端所准备的功能。 API框架的使用场景是为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。 目前比较知名的API框架有restify(文档、Github、NPM)(官网、Github、NPM)LoopBack(官网、Github、NPM)Frisby(官网、Github、NPM)(官网、Github、NPM)Web应用框架顾名思义,就是为了打造Web应用所开发的框架。 这里有两种风格的Web应用框架。 一个是Sinatra风格,另一个是Rails风格。 Sinatra和Rails都是Ruby语言的Web框架,后者的影响力更大也更为知名。 这里简单的解释一下两种风格是什么意思。 Sinatra风格是指高度可配置,注重开发的自由度。 代表性的Nodejs Web框架有:Express(官网、Github、NPM)TJ大神开发,官方推荐 hapi(官网、Github、NPM)(官网、Github、NPM)flaliron(官网、Github、NPM)(官网、Github、NPM)locomotive(官网、Github、NPM)Rails风格则是指不重复自己和约定优于配置,以及严格遵循MVC结构开发。 代表性的框架有(官网、Github、NPM)geddy(官网、Github、NPM)CompoundJS(官网、Github、NPM) 原railswayjs这两种风格无所谓谁优谁劣,全凭使用者的偏好。 而在这两种Web框架之外,还有更大型的框架,即全栈框架,其中的代表是MEAN。 回到顶部MEAN?MEAN指mongoDB+Express++,这一组合包括运行环境、数据库、Web框架和前端引擎。 被称为 全栈框架(Full-stack framework)。 这其中除了之外,每一个都是可替换的,目标是创建从前端到后端,全部使用javascript的Web应用。 由于这一框架的完善性,有人将其称为LAMP的接班人。 LAMP即PHP的典型运行环境,Linux+Apache+MySql+PHP,被大量的用于各种虚拟主机上。 MEAN看似庞大,但事实上要构建完整的现代化Web应用,特别是SPA(单页面应用),这几个组件都是难以缺少的,并且,其中每一项几乎都是目前 情况下的最佳选择,因此用于学习和重头开始打造新的Web应用是非常合适的。 但由于实际业务的独特性,很可能要替换其中的组件,比如用Mysql来替换 MongoDB,因此,学习其中的原理和架构,打造自己的类MEAN框架也是一种选择。 作为个人和小团队来说,全栈框架MEAN基本上足够了,但目前大多数全栈框架还包含一项特性,那就是实时,拥有实时功能的框架我们又称为实时框架。 回到顶部实时框架好吗?实时框架(Real-time framework)指包含了webSocket的双向通信功能,能够在服务器和客户端做到实时通信的框架。 服务端和客户端自由通信的需求一直都在,但由于HTTP协议本身的局限性,因此催生了Comet等变通的方法,但即使这样也离实时相距甚远。 而当 兴起后,另一个HTML5技术webSocket也渐渐成熟,人们突然发现,实时通信一下子变得触手可及,于是webSocket技术在 中得到大量的应用,其中最为知名的模块就是,而各种全栈框架也纷纷加入实时特性来应对更广阔的开发需求。 目前有代表性的实时框架有:Meteor(官网、Github、NPM)(官网、Github、NPM)Derby(官网、Github、NPM)SocketStream(官网、Github、NPM)不过说实话,目前能看到的实时通信的应用场景其实不多,其中大多集中于聊天室、to-do、实时图表、在线游戏等领域。 其他领域使用实时特性不但没必要,而且是对服务器资源的浪费。 因此目前是否要采用实时框架,要看具体的项目而定。 以上基本就是 Web框架的现状了,相信看到这里,对于选择何种框架读者已经心里有数了吧。 最后再介绍一个容易搞混的概念,和解释一下我的选择。 回到顶部YEOMAN?第一次见到这个词,我还以为它和MEAN有什么联系。 事实上,它们是截然不同的两个东西。 YEOMAN由YO(脚手架)、grunt(构建工具)、bower(包管理器),它代表的是一种工作流,与框架开发的思维方式完全不同。 具体的介绍可见这里。 YEOMAN能够和框架达到类似的目的,都是为构建一个Web应用做好准备,但是要不要采用YEOMAN,则是见仁见智。 我个人的看法是,学习 YEOMAN本身就需要不少时间,并且有一定的学习门槛。 至少在目前,使用框架开发还是相对经济的,而如果以后YEOMAN这种模式推广开来,再来学习也 不迟,更何况有一定的项目经验之后再来学习YEOMAN要轻松很多。 事实上,我还是很认可YEOMAN这种Generator+package Manager的模式的,这是因为本身崇尚微模块的 概念,即无论是多么小的功能,都将它们模块化,甚至大的模块也要拆分成小的模块,然后通过搭积木的方式来构建应用。 这样能够彻底的解耦,对于不容易调试的 Javascript来说,也有助于定位和修复应用中的问题。 Generator就是这种理念催生下的产物,通过选择不同的配置和选项,将积木搭起来。 不 过对于这种模式目前大家也还处于实验当中,不急于进行实际应用。 回到顶部为什么我选择了Hackathon Starter?在我的个人项目中,使用的是Hackathon Starter,一个 Web应用脚手架。 我使用它的原因是,要求高度可配置,同时又讨厌写一些配置的代码,因此它对于我来说是很好的选择。 一些全栈框架对我来说,封装过多,将原生的 /Express API隐藏掉了,要使用还需要一定的学习成本。 而Express这样的框架又太过简洁,在实际的项目中使用还需要大量的插件和配置,而这些在 Hackathon Starter中都已经帮我们做好了,同时还有一些示例代码以供学习,对于新人来说非常友好,可以避免过多的挫折感。
这意味着您在wp-config.php文件中指定的用户名和密码信息不正确,或我们未能在loca?
主要是配置连接数据库的你必须来确认你填写源的数据库的地址、端口(默认3306)、用户名、密码是正确的才可以2113连接如果数据库和wordpress放在同一台服务5261器,数据4102库地址1653应该写localhost或127.0.0.1,如果在其他服务器,就要填写其他服务器的IP地址,你肯定是没连接数据库
发表评论