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

目录
相关文章
|
安全 Java 测试技术
如何搭建 WebGoat 靶场保姆级教程(附链接)
如何搭建 WebGoat 靶场保姆级教程(附链接)
|
安全 数据安全/隐私保护 Windows
【内网渗透】神器Mimikatz的入门简单实践
【内网渗透】神器Mimikatz的入门简单实践
2729 0
【内网渗透】神器Mimikatz的入门简单实践
|
缓存 安全 Java
【Java并发】【ConcurrentHashMap】适合初学体质的ConcurrentHashMap入门
ConcurrentHashMap是Java中线程安全的哈希表实现,支持高并发读写操作。相比Hashtable,它通过分段锁(JDK1.7)或CAS+synchronized(JDK1.8)实现更细粒度锁控制,提升性能与安全性。本文详细介绍其构造方法、添加/获取/删除元素等常用操作,并对比JDK1.7和1.8的区别,帮助开发者深入理解与使用ConcurrentHashMap。欢迎关注,了解更多!
1063 5
【Java并发】【ConcurrentHashMap】适合初学体质的ConcurrentHashMap入门
|
JavaScript 前端开发
React craco 解决 webpack < 5 used to include polyfills for node.js core ...
React craco 解决 webpack < 5 used to include polyfills for node.js core ...
1288 0
|
缓存 安全 算法
Spring Security OAuth 2.0 资源服务器— JWT
Spring Security OAuth 2.0 资源服务器— JWT
1503 1
|
SQL 数据挖掘 关系型数据库
SQL查询次数大于1的记录:高效技巧与方法
在数据库管理中,经常需要统计某些操作的次数,特别是当需要找出哪些记录或值出现的次数超过一定阈值(如大于1次)时
2004 4
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
8131 3
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
614 0

热门文章

最新文章