目录遍历漏洞

目录遍历

目录

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

相关推荐
恃宠而骄的佩奇4 分钟前
i春秋-签到题
web安全·网络安全·蓝桥杯
follycat19 分钟前
信息收集--CDN绕过
网络·安全·网络安全
清风.春不晚3 小时前
shell脚本2---清风
网络·网络安全
Wh1teR0se14 小时前
[极客大挑战 2019]Secret File--详细解析
前端·web安全·网络安全
网安_秋刀鱼19 小时前
PHP代码审计 --MVC模型开发框架&rce示例
开发语言·web安全·网络安全·php·mvc·1024程序员节
假客套21 小时前
vulfocus在线靶场:CVE_2019_16662 速通手册
网络安全·web渗透·vulfocus在线靶场
y0ungsheep21 小时前
[第五空间 2021]pklovecloud 详细题解
web安全·网络安全·php
儒道易行21 小时前
【Pikachu】SSRF(Server-Side Request Forgery)服务器端请求伪造实战
网络安全
九尾w21 小时前
phpMyAdmin/PHP反序列化/sqli-labs/upload/pikachu/DVWA--靶场搭建--超详细教程!!!
网络安全·php