【BP靶场portswigger-服务端3】目录遍历漏洞-6个实验(全)(上)

简介: 【BP靶场portswigger-服务端3】目录遍历漏洞-6个实验(全)(上)

助你一臂之力


📋问题1:如何快速发现漏洞点的?


🎯编写自动化脚本跑,BP跑

🎯如发现特定框架等,使用特定的目录字典进行跑

🎯特殊字符字典搜集


📋问题2:使用的工具有哪些?


🎯BP必备(爆破跑的时候,HTTP历史记录收集收集)

🎯dirsearch.py、御剑等

011fe4a8e63b49b3b47dff8ec33581fb.png


一、目录遍历


1、意义


1、目录遍历(也称为文件路径遍历)是一个Web安全漏洞,使得攻击者能够读取运行应用程序的服务器上的任意文件(包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件)


2、在某些情况下,攻击者可能能够写入服务器上的任意文件,从而允许他们修改应用程序数据或行为,并最终完全控制服务器




二、通过目录遍历阅读任意文件

1、示例

1、销售商品图像的购物应用程序:
图像通过HTML加载,如
<img src="/loadImage?filename=218.png">
该loadImage图像URL采用filename参数并返回指定文件的内容
映像文件本身存储在磁盘上的位置/var/www/images/。为返回映像,应用程序将请求的文件名附加到此基目录,并使用文件系统API读取文件的内容。
文件路径:/var/www/images/218.png


2、攻击者:
如果应用程序未对目录遍历进行防御,请求以下URL,从服务器的文件系统中检索任意文件: 
https://insecure-website.com/loadImage?filename=../../../etc/passwd
这将导致应用程序从以下文件路径读取:
/var/www/images/../../../etc/passwd
(../表示向上一级目录)
Unix的操作系统上:  ../
Windows:         ../ and ..\ 都是有效的目录遍历序列
系统文件:
https://insecure-website.com/loadImage?filename=..\..\..\windows\win.ini


涉及实验:

实验1:文件路径遍历(简单)


实验1:文件路径遍历(简单)


信息:

需要我们检索/etc/passwd的内容

part1:

随便点开一个博客

(同时抓包)

第三个数据包就带有filename参数进行检索内容,修改filename参数

1102f0f3379a4293bea7776865fa41f3.png

part2:


发送到repeater进行分析


../../../etc/passwd


检索出了密码


7f324a49e91349278c73367a93a3a1cf.png


在拦截的数据包中修改后取消拦截


3232ef0764be4510a90942928ea480c0.png


9054a364ee4b419ab1010fec32fc5033.png


三、利用文件路径遍历漏洞的常见障碍


1、对于../等的限制


1、将用户输入放置到文件路径中的应用程序实现了某种类型的防御路径遍历攻击,而这些攻击通常可以被绕过


————


2、如果应用程序从用户提供的文件名中剥离或阻止目录遍历序列,那么就有可能使用各种技术绕过防御


如,使用文件系统根目录的绝对路径(filename=/etc/passwd)直接引用文件,而不使用任何遍历序列。


————


涉及实验:


实验2:文件路径遍历(用绝对路径旁路阻止遍历序列)


实验2:文件路径遍历(用绝对路径旁路阻止遍历序列)


绝对路径/etc/passwd


part1:


点击一个博客

451fc6c96a474c37befbfee8502cba50.png



第三个数据包的filename参数


a345a7bd340a4552bcf27e63b060e7dc.png


part2:


发到repeater


题目提示的绝对路径/etc/passwd


账号密码回显


e0c11a4309b34c67acb906f9ef3be815.png


修改数据包,并关闭拦截

da924ac9aa2844d3a17bf5af562052ad.png

df1c7fc840b447bba87c5e53417918ae.png


2、嵌套遍历序列


如....// or ....\/ ,当内部序列被剥离时(过滤一遍),它将恢复为简单的遍历序列


————


涉及实验:


实验3:文件路径遍历(非递归地剥离遍历序列)


实验3:文件路径遍历(非递归地剥离遍历序列)


还是告诉了/etc/passwd


part1:


拦截到第三个数据包


acc071bc112c4913a161650737d456ea.png


part2:


发送到repeater


使用嵌套遍历....//....//....//etc/passwd


d42b6bfefcad4e74be078ee422fd1b3c.png


数据包修改,并关闭拦截

1703f41328d24fe2aaa549a221e62996.png


6d1a9d1a3ed749af95dada8a7c5163a5.png


3、编码绕过

1、除去遍历序列:在某些上下文中,如在URL路径或filename的参数multipart/form-data请求时,Web服务器可能会在将输入传递到应用程序之前去除任何目录遍历序列。


2、编码绕过:有时可以通过URL编码或甚至双URL编码来绕过这种清理,../ 字符,一次编码%2e%2e%2f、二次编码%252e%252e%252f。各种非标准编码,如..%c0%af或..%ef%bc%8f,也可能起到作用


3、工具:BP Intruder提供了一个预定义的负载列表(将GitHub或自己收集的特殊编码导入,观察哪些可以使用),其中包含各种可供尝试的编码路径遍历序列。


涉及实验:


实验4:文件路径遍历(用多余的URL解码剥离遍历序列)



目录
相关文章
|
安全 API
【BP靶场portswigger-服务端3】目录遍历漏洞-6个实验(全)(下)
【BP靶场portswigger-服务端3】目录遍历漏洞-6个实验(全)(下)
112 0
【BP靶场portswigger-服务端3】目录遍历漏洞-6个实验(全)(下)
|
安全 Java Shell
BP靶场portswigger-服务端8】文件上传漏洞-7个实验(全)(上)
BP靶场portswigger-服务端8】文件上传漏洞-7个实验(全)(上)
250 0
BP靶场portswigger-服务端8】文件上传漏洞-7个实验(全)(上)
|
SQL Oracle 安全
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)(上)
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)
234 0
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)(上)
|
SQL 关系型数据库 MySQL
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)(下)
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)(下)
260 0
【BP靶场portswigger-服务端1】SQL注入-17个实验(全)(下)
|
供应链 安全 数据安全/隐私保护
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(上)
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(上)
548 0
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(上)
|
安全 算法 Oracle
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(下)
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(下)
288 0
【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)(下)
|
存储 JSON JavaScript
【BP靶场portswigger-客户端15】基于DOM的漏洞-7个实验(全)
【BP靶场portswigger-客户端15】基于DOM的漏洞-7个实验(全)
217 0
【BP靶场portswigger-客户端15】基于DOM的漏洞-7个实验(全)
|
存储 安全 关系型数据库
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(下)
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(下)
202 0
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(下)
|
XML SQL 数据采集
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(上)
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(上)
273 0
【BP靶场portswigger-服务端6】信息泄露漏洞-5个实验(全)(上)
|
安全 Shell API
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)
186 0
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)