【代码审计】CLTPHP_v5.5.3后台目录遍历漏洞分析
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/admin/controller/Template.php 第135-168行:
2、public function images(){
3、 $path = $this->publicpath.'images/'.input('folder').'/';
4、 $uppath = explode('/',input('folder'));
5、 $leve = count($uppath)-1;
6、 unset($uppath[$leve]);
7、 if($leve>1){
8、 unset($uppath[$leve-1]);
9、 $uppath = implode('/',$uppath).'/';
10、 }else{
11、 $uppath = '';
12、 }
13、 $this->assign ( 'leve',$leve);
14、 $this->assign ( 'uppath',$uppath);
15、 $files = glob($path.'*');
16、 $folders=array();
17、 foreach($files as $key => $file) {
18、 $filename = basename($file);
19、 if(is_dir($file)){
20、 $folders[$key]['filename'] = $filename;
21、 $folders[$key]['filepath'] = $file;
22、 $folders[$key]['ext'] = 'folder';
23、 }else{
24、 $templates[$key]['filename'] = $filename;
25、 $templates[$key]['filepath'] = $file;
26、 $templates[$key]['ext'] = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
27、 if(!in_array($templates[$key]['ext'],array('gif','jpg','png','bmp'))) $templates[$key]['ico'] =1;
28、 }
29、 }
30、 $this->assign ( 'title','媒体文件' );
31、 $this->assign ( 'path',$path);
32、 $this->assign ( 'folders',$folders );
33、 $this->assign ( 'files',$templates );
34、 return $this->fetch();
35、 }
在这段函数中,参数folder未进行任何有效过滤,获取目录下的文件信息,导致程序在实现上存在目录遍历漏洞,攻击者可利用该漏洞获取敏感信息。
0x02 漏洞利用
1、登录后台,构造url,获取网站目录结构。
获取网站根目录Payload:
http://127.0.0.1/admin/Template/images.html?folder=slideshow/../../../../../

0x03 修复建议
1、正则判断用户输入的参数的格式,看输入的格式是否合法:这个方法的匹配最为准确和细致,但是有很大难度,需要大量时间配置规则。
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。

【代码审计】CLTPHP_v5.5.3后台目录遍历漏洞分析的更多相关文章
- 【代码审计】711cms_V1.0.5 目录遍历漏洞分析
0x00 环境准备 711CMS官网: https://www.711cms.com/ 网站源码版本:711CMS 1.0.5 正式版(发布时间:2018-01-20) 程序源码下载:https: ...
- 【代码审计】大米CMS_V5.5.3 目录遍历漏洞分析
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
- [cyber security][php]pfSense目录遍历漏洞分析
0×00 导言 pfSense是一个基于FreeBSD,专为防火墙和路由器功能定制的开源版本. 在本文中,我们将向大家介绍在pfSense的2.1.3以及更低版本中的CVE-2014-4690漏洞:对 ...
- 【代码审计】CLTPHP_v5.5.3后台任意文件下载漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...
- nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现
nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...
- Kali学习笔记31:目录遍历漏洞、文件包含漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...
- HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)
参考文献: http://bbs.csdn.net/topics/390952011 http://blog.csdn.net/ljj_9/article/details/53306468 1.下载地 ...
- 目录遍历漏洞简介 转载于h3c
参考文章: 攻防:目录遍历漏洞简介
- nginx目录遍历漏洞复现
nginx目录遍历漏洞复现 一.漏洞描述 Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露. 二.漏洞原理 1. 修改nginx.conf,在如下图位置添 ...
随机推荐
- jquery easyui toolbar 分割线问题
http://bbs.csdn.net/topics/390507228 —————————————————————————————————— 将“<div class="datagr ...
- C艹重复输入小方法,for循环+while
#include <iostream> #include <cctype> #include <string> ; int main(int argc, char ...
- 【转】VSCode Web开发插件
Web开发必备插件 1.Beautify - HTML.CSS.JS.JSON语法高亮 语法高亮,你懂的. Beautify 2.Auto rename tag - 自动重命名标签 在HTML, ...
- 最近迷上了GUI
package windows; import java.awt.BorderLayout; import javax.swing.ButtonGroup; import javax.swing.JB ...
- 模式识别之bpnn---神经网络训练
http://blog.csdn.net/linj_m/article/details/40679085
- FusionCancer-人类癌症相关的融合基因的数据库
RNA-seq 测序可以用于融合基因的发现,在过去的十几年里,RNA-seq 测序数据不断增加,发现的融合基因的数据也不断增加: FusionCancer 是一个人类癌症相关的融合基因的数据库,利用N ...
- Ubuntu 安装IntelliJ IDEA
1. 下载IDEA 官网地中:http://www.jetbrains.com/idea/download/index.html 选择对应操作系统的版本.下载后,我的文件名称为: idea ...
- C# 之HTTP请求get,post带重试参数
public class WebHttp { /// <summary> /// get请求带重试 /// </summary> /// <param name=&quo ...
- C# 使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕
using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Collections.Generic; using System.T ...
- Win7-64位安装TensorFlow-GPU
1.查看电脑显卡 路径:计算机--属性--设备管理器-显示适配器 2.显卡(GPU)是否支持CUDN https://developer.nvidia.com/cuda-gpus 3.安装 1)CUD ...