【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析
0x00 环境准备
QYKCMS官网:http://www.qykcms.com/
网站源码版本:QYKCMS_v4.3.2(企业站主题)
程序源码下载:http://bbs.qingyunke.com/thread-13.htm
测试网站首页:

0x01 代码分析
1、漏洞文件位置:/admin_system/include/lib/down.php 第1-6行:
2、 <?php
3、 $downurl=arg('downurl','post','url');
4、 $filename=arg('filename','post','url');
5、 $file=downfile($downurl.$filename,'../'.$website['upfolder'].setup_uptemp,$filename);
6、 if(!$file)ajaxreturn(1,'下载升级文件失败,可能由于以下原因导致无法下载:<br>1、服务器繁忙,请稍候再重新尝试升级<br>2、PHP环境不支持远程 file_get_contents 函数');
7、 ajaxreturn(0,$website['upfolder'].setup_uptemp,$file);
这段代码中获取了两个参数downurl和filename,然后未经任何处理或过滤,带入downfile函数中执行,将远程的文件下载到本地/upload/10001/temp/目录下。
我们可以很容易地从第三方网站下载一个脚本木马,文件名也是我们可控的,导致程序在实现上存在代码执行漏洞,攻击者可以通过该漏洞执行脚本代码,获取服务器控制权限。
0x02 漏洞利用
1、在某个第三方网站上放一句话木马,作为源,供程序利用:

2、构造参数,从第三方网站下载脚本木马到网站目录中,成功下载脚本木马。

3、访问脚本木马路径,触发一句话木马

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

0x03 修复建议
1、指定文件更新源,禁止任何形式的参数可控,可有效防御。
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。

【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析的更多相关文章
- 【代码审计】DouPHP_v1.3代码执行漏洞分析
0x00 环境准备 DouPHP官网:http://www.douco.com/ 程序源码下载:http://down.douco.com/DouPHP_1.3_Release_20171002. ...
- 【代码审计】YUNUCMS_v1.0.6 后台代码执行漏洞分析
0x00 环境准备 QYKCMS官网:http://www.yunucms.com 网站源码版本:YUNUCMSv1.0.6 程序源码下载:http://www.yunucms.com/Downl ...
- 【代码审计】LaySNS_v2.2.0 System.php页面存在代码执行漏洞分析.
0x00 环境准备 LaySNS官网:http://www.laysns.com/ 网站源码版本:LaySNS_v2.2.0 程序源码下载:https://pan.lanzou.com/i0l38 ...
- 【代码审计】大米CMS_V5.5.3 任意文件删除及代码执行漏洞分析
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
- 【代码审计】OTCMS_PHP_V2.83_代码执行漏洞分析
0x00 环境准备 OTCMS官网:http://otcms.com 网站源码版本:网钛CMS PHP版 V2.83 [更新于2017.12.31] 程序源码下载:http://d.otcms.c ...
- 【代码审计】YzmCMS_PHP_v3.6 代码执行漏洞分析
0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 ...
- 【代码审计】大米CMS_V5.5.3 代码执行漏洞分析
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
- 【代码审计】XYHCMS V3.5代码执行漏洞分析
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
- 【代码审计】iZhanCMS_v2.1 代码执行漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
随机推荐
- Java关键字instanceof
深入Java关键字instanceof instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例. 举个例子: public interfa ...
- office 2013 快速换KEY
在有些时候,我们总会碰到一些需要更换Office安装Key(序列号.密钥)的情形,例如购买或朋友赠了新的Key等等.网上搜索的话,有很多种更改变换Office 2010序列号办法,今天就来挨个介绍一下 ...
- Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结
转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...
- github开源库(一)
http://www.open-open.com/lib/view/open1388317199516.html 1.ActionBarSherlock ActionBarSherlock应该算得上是 ...
- android手机如何获取手机号
两个方案:1 通过android.permission.READ_PHONE_STATE读取 2 通过短信过滤,读取手机号. 按照第1个方案,AndroidManifest.xml需要添加 < ...
- e610. Setting Focus Traversal Keys in a Component
When the focus is on a component, any focus traversal keys set for that component override the defau ...
- ASP.NET MVC使用Oauth2.0实现身份验证
随着软件的不断发展,出现了更多的身份验证使用场景,除了典型的服务器与客户端之间的身份验证外还有,如服务与服务之间的(如微服务架构).服务器与多种客户端的(如PC.移动.Web等),甚至还有需要以服务的 ...
- poj 1700 Crossing River C++/Java
http://poj.org/problem?id=1700 题目大意: 有n个人要过坐船过河,每一个人划船有个时间a[i],每次最多两个人坐一条船过河.且过河时间为两个人中速度慢的,求n个人过河的最 ...
- HDU 5067 Harry And Dig Machine(状压DP)(TSP问题)
题目地址:pid=5067">HDU 5067 经典的TSP旅行商问题模型. 状压DP. 先分别预处理出来每两个石子堆的距离.然后将题目转化成10个城市每一个城市至少经过一次的最短时间 ...
- Shell脚本中的export
shell 与 export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚 ...