目录遍历漏洞

目录遍历

目录

目录遍历与任意文件下载其实差不多,但是如果目录遍历比如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

相关推荐
孤独的履行者2 小时前
入门靶机:DC-1的渗透测试
数据库·python·网络安全
Blankspace学3 小时前
Wireshark软件下载安装及基础
网络·学习·测试工具·网络安全·wireshark
CVE-柠檬i6 小时前
Yakit靶场-高级前端加解密与验签实战-全关卡通关教程
网络安全
轨迹H19 小时前
kali设置中文输入法
linux·网络安全·渗透测试·kali
cr.sheeper19 小时前
Vulnhub靶场Apache解析漏洞
网络安全·apache
Autumn.h19 小时前
文件解析漏洞
web安全·网络安全·中间件
Mitch31121 小时前
【漏洞复现】CVE-2023-37461 Arbitrary File Writing
web安全·网络安全·prometheus·metersphere·漏洞复现
CVE-柠檬i21 小时前
渗透测试-前后端加密分析之RSA+AES
网络安全
TazmiDev1 天前
[极客大挑战 2019]BabySQL 1
服务器·数据库·安全·web安全·网络安全·密码学·安全威胁分析