0X00 总体简介

云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次数已超过5万次。云优CMS坚信没有排名的网站不是“好网站”,我们将致力于为用户打造全自动SEO解决方案

此次审的版本为云优CMS v1.1.2,更新于2018.08.02。

发现了前台api模块Master.php,V1.php存在多个注入漏洞,与及statics\ueditor\vendor\Local.class.php 文件remove方法存在任意文件删除可导致getshell。

0x01 漏洞环境

工具: phpstudy , vscode,seay源代码审计工具,burpsuite

CMS版本: v1.1.2

官网下载:http://www.yunucms.com/

0x02 漏洞介绍

一、前台api模块下的Master.php,V1.php控制器多处sql注入

多处sql注入皆是orderby变量未过滤,直接带入了查询。pdo是没有办法过滤orderby的。

1,Master.php\api_list 方法

直接带入查询,没有任何过滤

2,Master.php\api_link 方法

不一一举例,Master.php文件的多处$orderby变量都是存在注入的,同理V1.php文件也是一样。

注入证明:取master.php文件中的api_list方法的注入点为例(为了更好的显示漏洞,手动开启了程序的debug模式,不开启报错方式也是可通过盲注的方式获取数据。程序默认不开启debug模式)

修复建议:

1) :不让用户可控$orderby参数

二、任意文件删除漏洞修复绕过

文件statics\ueditor\vendor\Local.class.php remove方法

这个漏洞在1.0.6版本中引入,在1.0.8版本修复。

但是修复不完全,可以直接绕过。

看代码的意思是获取文件路径,通过’/’来划分为数组,判断数组[0]和数组[1]是否等于uploads,不等于则非法。但是我们可以这样绕过,payloads:/uploads/../test.txt

且该处文件不经过后台认证,比如删除一个正常的图片,不带cookie,也是可以正常删除的。

跨目录删除文件,删除根目录下的test.txt

请求包:

可删除install.lock,重装系统写入配置文件直接获取网站webshell,参考(http://www.freebuf.com/column/162343.html)

修复建议:

1) :不允许路径中出现.. 字符

2) :比如将安全验证的代码修改为$file=str_replace(‘..’,’’,$file);

0X03 总结

漏洞原理比较简单,通过这个系统顺便总结了一下orderby注入相关的东西。

与及也发现了一些组件相关的问题,后面写篇文章总结一下。

声明:本文章只用于学习研究之用,禁止用于违法犯罪。

0x04 参考链接

1,http://www.cnblogs.com/iyiyang/articles/6740580.html

[代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell的更多相关文章

  1. ZZCMS v8.2 前台Insert注入+任意文件删除

    前几天看了水泡泡老哥的zzcms的审计,在论坛上一搜发现这个cms有不少洞.听说很适合小白练手,所以来瞅一瞅.不知道我发现的这个洞是不是已经被爆过了,如果雷同,纯属巧合. 一.Insert注入,直接返 ...

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

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

  3. ThinkSNS2.5前台getshell+后台任意文件删除

    12年爆出的一个洞 前几天比赛的一个cms  于是跟出题人表哥要过来审计了看看 漏洞文件再根目录thumb.php中 <?php /* * 自动缩略图 参数 url|w|h|type=" ...

  4. Discuz!X 3.4 前台任意文件删除漏洞复现

    Discuz!X 3.4 前台任意文件删除漏洞复现 参考链接: http://www.freebuf.com/vuls/149904.html http://www.freebuf.com/artic ...

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

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

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

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

  7. 【代码审计】XYHCMS V3.5任意文件删除漏洞分析

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

  8. [代码审计]phpshe开源商城后台两处任意文件删除至getshell

    0x00 背景 这套系统审了很久了,审计的版本是1.6,前台审不出个所以然来.前台的限制做的很死. 入库的数据都是经过mysql_real_escape_string,htmlspecialchars ...

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

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

随机推荐

  1. 包学会之浅入浅出Vue.js:升学篇

    包学会之浅入浅出Vue.js:升学篇 蔡述雄,现腾讯用户体验设计部QQ空间高级UI工程师.智图图片优化系统首席工程师,曾参与<众妙之门>书籍的翻译工作.目前专注前端图片优化与新技术的探研. ...

  2. P3932 浮游大陆的68号岛

    P3932 浮游大陆的68号岛 妖精仓库的储物点可以看做在一个数轴上.每一个储物点会有一些东西,同时他们之间存在距离. 每次他们会选出一个小妖精,然后剩下的人找到区间[l,r]储物点的所有东西,清点完 ...

  3. java基础-多线程应用案例展示

    java基础-多线程应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.两只熊,100只蜜蜂,蜜蜂每次生产的蜂蜜量是1,罐子的容量是30,熊在罐子的蜂蜜量达到20的时候 ...

  4. json字符串转java对象

    今天遇到一个问题,前端ajax获取到一个javaBean对象,好多方法发ajax请求需要把这个对象再传到后端,后端再根据这个对象进行操作(之前计划传递id,但发现传递id的话,后端多个方法都需要根据i ...

  5. poj 3686 Priest John's Busiest Day

    http://poj.org/problem?id=3683 2-sat 问题判定,输出一组可行解 http://www.cnblogs.com/TheRoadToTheGold/p/8436948. ...

  6. 小议 html 实体解析

    今天分享个小技巧,是群里一个朋友问的,"请问 + 这种类型的字符串怎么转换成我们想要的字符 + ,有什么简便的js方法吗"其实问题说简单也简单,说难也难.我们要分情况来描述问题解决 ...

  7. 洛谷 P1525 【关押罪犯】种类并查集

    题解 P1525 [关押罪犯]:种类并查集 前言: 在数据结构并查集中,种类并查集属于扩展域并查集一类. 比较典型的题目就是:食物链(比本题难一些,有三个种类存在) 首先讲一下本题的贪心,这个是必须要 ...

  8. IIS发布,无法显示CSS样式和图片

    描述: 最近给同事安装web程序时,把IIS安装好后,发布网站时,图片和css样式不显示. 程序没问题,发布也没问题. 后来网上一查,出错的原因可能是IIS的配置问题. 果然,按照网上的方法,顺利显示 ...

  9. 解决Tomcat6解压版在64位windows系统上无法启动服务的问题

    解决Tomcat6解压版在64位windows系统上无法启动服务的问题         由于客户环境为64位windows系统,开发环境一直用32位.tomcat使用6.0.20非安装版.部署时发现在 ...

  10. Saving Tang Monk II

    题目链接:http://hihocoder.com/contest/acmicpc2018beijingonline/problem/1 AC代码: #include<bits/stdc++.h ...