目录遍历漏洞

ops/2024/10/31 6:25:45/

目录遍历

目录

  • 概念
  • 漏洞分析
    • 加密型传递参数
    • 编码绕过
    • 目录限定绕过
    • 绕过文件后缀过滤(截断上传原理)
  • 漏洞挖掘
    • 访问图片文件
    • 测试时去掉文件名只访问目录路径
    • 搜索引擎谷歌关键字
  • pikachu目录遍历

目录遍历与任意文件下载其实差不多,但是如果目录遍历比如etc/passwd只能看不能下载那只是能遍历,如果是在下载的接口输入etc/passwd 那么就输入任意文件下载了,二者或许会一起出现又能看又能下

概念

目录浏览漏洞是由于网站存在配置缺陷,存在目录可浏览漏洞,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑 访问任意的文件 (可以是web根目录以外的文件),甚至可以执行系统命令

jira是Jupyter NoteBoo下的目录

网站的目录全部暴露,一般碰到这种就是寻找有价值的东西比如 数据库,文件内包含的密码这些, 一般是没有index.php 就可能出现像这样的一个目录遍历的漏洞,但是一般情况下 index 文件都会有的。

那么怎么去找目录遍历漏洞,一般是输入到文件目录,看页面响应。比如站点上的一张图片的的连接为:http://192.168.24.190/Images/185_01.jpg,我们把图片删除,只保留目录:http://192.168.24.190/Images/,最后浏览器看看并没有自动刷新到185_01.jpg 文件,而是返回上一级 那么这个样子就是存在目录遍历

漏洞分析

目前许多的 Web 应用程序一般会有对服务器的文件读取查看的功能,大多会用到提交的参数来指明文件名,形如:http://www.nuanyue.com/getfile=image.jpg。当服务器处理传送过来的 image.jpg 文件名后,Web应用程序即会自动添加完整路径,形如“d://site/images/image.jpg”,将读取的内容返回给访问者 我们可以构造对应的路径由于文件名可以任意更改而服务器支持“~/”,“/…”等特殊符号的目录回溯

加密型传递参数

在网站中对传递的数据进行加密后提交,比如, 其中 file 的数据采用的是Base64加密 我们只需要将数据进行相应的解密即可入侵

也就是采取一些规律性的加密方式也是不安全的

http://www.***.com/downfile.jsp?file=ZmfdWq==

编码绕过

采用不同的编码进行过滤型绕过,比如对参数使用url 编码提交来绕过

http://www…com/downfile.jsp?file=%66%1E%23%16%5A*

目录限定绕过

有的网站使用限定目录权限来分离,攻击者可以通过某些特定符号来绕过,比如根目录 / 被限定了权限,但是可以通过 ~ 来进入根目录

~/…/boot 等价于 /boot

绕过文件后缀过滤(截断上传原理)

设置了后缀名检测(黑名单或白名单时) 可以通过 %00 截断绕过

…/…/…/boot.ini%00.jpg ==> …/…/…/boot.ini

漏洞挖掘

访问图片文件

右键新标签中打开有时候会暴露出路径

有了这个路径后我们往前构造那么久会发现目录

测试时去掉文件名只访问目录路径

搜索引擎谷歌关键字

  • 任意文件下载:site:域名 filetype:zip|rar|zip|xml
  • 敏感信息(目录):site:域名 index of、intitle:“Index of /admin”
  • 未授权访问:inurl:php? intext:CHARACTER_SETS,COLLATIONS, ?intitle:phpmyadmin、
  • 后台:site:xxx.com inurl:login|admin|manage|member|admin_login|user
  • 敏感信息泄露:site:xxx.com intext:管理|后台|登录|用户名|密码|系统|账号|admin|login|managetem|password|username
  • sql注入:site:域名 inurl:?id=

pikachu目录遍历

进入关卡点击页面每个展示都不同,得到路径参数

http://localhost/pikachu-master/vul/dir/dir**_**list.php?title=jarheads.php

http://localhost/pikachu-master/vul/dir/dir**_**list.php?title=truman.php

这里是通过已知的文件路径来构造出title 参数后面的路径

pikachu/vul/fileinclude/fileinclude.php 文件包含漏洞的概念页面

只要我们可以通过这个路径访问到,那么我们就可以攻击到,假设文件jarheads.php和文dir_list.php在同一个文件夹,下列为py

http://localhost/pikachu-master/vul/dir/dir_list.php?title=…/fileinclude/fileinclude.php

  • 报错显示 title参数值表示 文件的内容用的是require()函数
  • 文件jarheads.php和文件dir_list.php不在同级目录下,jarheads.php在dir_list.php同级的soup目录下
  • 网站所在目录 B:\phpstudy_pro\WWW

require() 函数作用

重新构造

http://localhost/pikachu-master/vul/dir/dir**_**list.php?title=…/…/fileinclude/fileinclude.php

如果说想获得网站外的文件,那么我们还是使用 ../../命令回到windows的路径

http://localhost/pikachu-master/vul/dir/dir_list.php?title=…/…/…/…/…/…/Windows/System32/drivers/etc/hosts


http://www.ppmy.cn/ops/129798.html

相关文章

MySQL安装配置教程

以下是 MySQL 在 Windows 系统下的安装配置教程: 1. 下载 MySQL 访问 MySQL 官方网站(https://dev.mysql.com/downloads/mysql/),根据您的操作系统版本(32 位或 64 位)选择合适的 MySQL 安装包。一般建议下载社区版(Community Server),它是免费且功能丰富的版本。2. …

51c深度学习~合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/12369516 #卷积神经网络压缩方法总结 本文介绍了卷积网络压缩的常见方法:低秩近似、剪枝与稀疏约束、参数量化、二值化网络、知识蒸馏和浅层/轻量网络。 我们知道,在一定程度上,网络越深…

Golang | Leetcode Golang题解之第519题随机翻转矩阵

题目: 题解: type Solution struct {m, n, total intmp map[int]int }func Constructor(m, n int) Solution {return Solution{m, n, m * n, map[int]int{}} }func (s *Solution) Flip() (ans []int) {x : rand.Intn(s.total)s.total--if y, o…

ai智能语音电销机器人可以做哪些事情?

AI智能语音电销机器人是结合人工智能技术进行自动化电话销售和客户互动的工具,能够完成一系列任务,有助于提升销售效果、优化客户体验和提高工作效率。以下是AI智能语音电销机器人可以做的一些主要事情: 1. 自动拨号 AI语音电销机器人可以自…

【手势识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+机器学习+Django网页界面+算法模型

一、介绍 手势识别系统,使用Python作为主要编程语言,通过收集了10种手势图片数据集(0~9),然后基于TensorFlow搭建卷积神经网络算法模型,然后训练模型得到一个识别精度较高的模型文件,在基于Dja…

C语言日记 2024年10月30日

目录 总结&#xff1a; 头文件&#xff1a; 函数&#xff1a; 内容&#xff1a; 总结&#xff1a; 头文件&#xff1a; 前三个函数来自于<string.h> malloc来自于<stdlib.h> 函数&#xff1a; strcmp(s1,s2); 用来比较字符串&#xff0c;s1大于s2时返回大…

【初识Linux】

寻不到花的折翼枯叶蝶&#xff0c;永远也看不见凋谢............................................................................. 文章目录 前言 一、【基本指令】 1、ls 2、pwd 3、cd 4. touch 5.mkdir 6.rmdir 7、rm 8.man 9.cp 10、mv 11、cat 12、tac 13、more 14、le…

384.打乱数组

目录 题目解法 题目 给你一个整数数组 nums &#xff0c;设计算法来打乱一个没有重复元素的数组。打乱后&#xff0c;数组的所有排列应该是 等可能 的。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返…