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

 0X00 整体简介php

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

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

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

 

0x01 漏洞环境shell

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

CMS版本: v1.1.2数组

官网下载:http://www.yunucms.com/七牛云存储

 

0x02 漏洞介绍安全

1、前台api模块下的Master.phpV1.php控制器多处sql注入cookie

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

1Master.php\api_list 方法

 

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

 

2,Master.php\api_link 方法

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

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

修复建议:

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

 

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

 文件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

相关文章
相关标签/搜索