【通关】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.  

目录
相关文章
|
6月前
|
XML 安全 数据库
【sqli靶场】第四关和第五关通关思路
【sqli靶场】第四关和第五关通关思路
97 0
|
6月前
|
存储 算法
算法编程(二十六):判断路径是否相交
算法编程(二十六):判断路径是否相交
60 0
|
6月前
leetcode代码记录(二叉树的所有路径
leetcode代码记录(二叉树的所有路径
29 0
|
5月前
|
存储 安全
☻ 我见我思之hvv偷师学艺——目录遍历/路径遍历/文件遍历 漏洞
介绍了网络告警信息的价值,特别是与目录遍历漏洞相关。目录遍历漏洞允许攻击者访问非预期的文件和目录。关键点包括: - 源IP可能是代理,可查威胁情报以了解历史攻击。 - 目的IP和端口用于识别受影响的资产。 - 响应码(如200或4XX/5XX)指示攻击是否成功。 - HTTP信息中的"../"是攻击特征,用于尝试遍历目录。 - 攻击者利用"../"构造请求,试图访问系统敏感文件。 - 防守方应警惕含有"../"的请求,可能是目录遍历尝试。 - 攻击方则利用路径参数尝试遍历,若未过滤"../",则可能成功利用漏洞。
|
6月前
|
安全 网络安全 PHP
Pikachu 目录遍历通关解析
Pikachu 目录遍历通关解析
|
6月前
|
机器人
leetcode代码记录(不同路径
leetcode代码记录(不同路径
28 0
|
6月前
|
机器人
leetcode代码记录(不同路径 II
leetcode代码记录(不同路径 II
23 0
|
算法
代码随想录算法训练营第三十九天 | LeetCode 62. 不同路径、63. 不同路径 II
代码随想录算法训练营第三十九天 | LeetCode 62. 不同路径、63. 不同路径 II
38 1
|
6月前
|
安全 关系型数据库 MySQL
【sqli靶场】第六关和第七关通关思路
【sqli靶场】第六关和第七关通关思路
122 0
|
算法 机器人
代码随想录训练营day39| 62.不同路径 63. 不同路径 II
代码随想录训练营day39| 62.不同路径 63. 不同路径 II