近日,国外安全研究人员在大量攻击数据中发现了一个WordPress plugins Social Warfare远程代码执行漏洞。该漏洞位于social-warfare\lib\utilities\SWP_Database_Migration.php文件中的eval()函数,该函数能够运行攻击者在“swp_url”GET参数中定义的PHP代码。此漏洞允许攻击者getshell接管整个网站,甚至是服务器。安全狗海青实验室已于昨日第一时间响应并发布预警信息,我们随后进行了进一步的研究分析,现将细节公布。
1、漏洞分析
在social-warfare\lib\utilities\SWP_Utility.php处通过获取swp_debug参数
在调用漏洞文件social-warfare\lib\utilities\SWP_Database_Migration.php进入处理流程
在202行处调用了is_admin()函数,该函数是wordpress的内置布尔型函数,取值取决于文件所处位置,前端默认而False,而后端默认为True,而该文件所处为后端,is_admin取值为真,if条件里的判断为永假,导致了该模块页面可以未进行身份验证直接进行访问。
接下来通过获取swp_url参数获取远程文件内容,经过简单处理满足
*
格式的数据,最后获取*号里面的数据赋值给变量array,最后通过eval函数执行,导致代码执行。
2、漏洞复现
环境搭建:下载安装WordPress程序,然后登录后台安装Social Warfare插件,使用构造好的payload进行测试,最终导致xss及远程代码执行。
3、处置建议
Wordpress官方插件库已经更新了该插件版本,该插件的用户可以更新至该插件的最新版本
特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。