WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)

目录

一、欢乐的闯关

第2页

第3页

第4页

第5页

二、简简单单的脑图


一、欢乐的闯关

第2页

这关要求传个文件到目录C:\Users\Administrator\.webgoat-8.1.0\PathTraversal下面

传文件的点是圆形人头那边,理论上是用来上传用户头像的。从百度图片弄了一张小白的帅照,传上去看看什么效果。

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第1张图片

从上图可见,文件上传后以Full Name的值命名,并存储在文件夹C:\Users\Administrator\.webgoat-8.1.0\PathTraversal\fancyele下,比我们的目标路径多一级目录fancyele。

那么可以尝试将Full Name改成../xiaobai.jpeg,然后点update,这样就可以把这张图片传到上级文件夹PathTraversal下

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第2张图片

第3页

这关的要求和上一关一样,要传个文件到目录C:\Users\Administrator\.webgoat-8.1.0\PathTraversal下面。

但提示../会被删除。

看到删除,一下子就想到双写绕过,在Full Name处构造双写../的payload:..././baibai.jpeg

过关~

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第3张图片

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第4张图片

第4页

还是要求传个文件到目录C:\Users\Administrator\.webgoat-8.1.0\PathTraversal下面。

但是这关上传了几次白白的帅照之后(每次Full Name不同),发现服务器上存储的文件名是固定的,和Full Name的值没有关系。

那么有可能这关的漏洞点不在Full Name。但是试了修改Email、Password,上传后的文件名仍然不变。恐怕漏洞点不在网页可见的部分。

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第5张图片

burpsuite的proxy模块找到提交这个请求的包,send to repeater

在请求包中filename的值前面加上haha,响应包中的文件名前面也多了haha,看来这题可能漏洞点在filename这儿

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第6张图片

构造payload:filename="../bjt.jpeg"   (或者直接在之前的中文文件名前面加../也可以)

过关~

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第7张图片

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第8张图片

第5页

这关要求找到名叫path-traversal-secret.jpg的文件。

先点一下show random cat picture按钮,burpsuite抓包

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第9张图片

抓到的报文像下面这样,MIME type是script,并且不带参数。把抓到的报文send to repeater。

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第10张图片

在repeater中重发一下,发现响应报文中的Location带参数id=4.jpg

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第11张图片

像下图这样random-picture后面增加?id=1.jpg,发送报文之后,响应404 Not Found,发现服务器查找的文件名在id的值后面加上了.jpg。所以如果要查看1.jpg的内容,应该在random-picture后面增加?id=1

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第12张图片

接下来可以试试random-picture后面增加?id=path-traversal-secret

结果返回了400 Bad Request

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第13张图片

再试试random-picture后面增加?id=../path-traversal-secret

也返回了400 Bad Request,而且提示请求参数中有非法字符

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第14张图片

把上述payload中的../改为%2e%2e%2f(../的url编码)

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第15张图片

还是返回400 Bad Request,但是不提示有非法字符了。

那再往上一级目录看看,?id=%2e%2e%2f%2e%2e%2fpath-traversal-secret

从返回结果来看,已经找到要找的文件了。

提示用户名的SHA-512 hash就是本题的答案

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第16张图片

网上搜一下SHA512在线,然后把用户名进行SHA512 hash

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第17张图片

将得到的结果填入小旗子后面的输入框,submit secret即可通过本关

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第18张图片

二、简简单单的脑图

WebGoat (A1) Injection Path traversal (目录遍历 / 路径遍历)_第19张图片

 

你可能感兴趣的:(WebGoat,#,注入,网络安全,web)