前言:
我们要想成功得到webshell,需要改变文件的传输路径,本次使用webGoat进行简单练习,掌握几种简单的绕过方式。
0x01 环境复现第二关
打开靶场实战一下

Full Name 的test前面加上 ../

这里先解释一下目录遍历的意义:目录解析权限,简单来说,我们上传的后门在此文件夹下没有被解析执行的权限,我们通过更改路径从而可以把此后门程序执行。
0x02 代码审计
我们主要看模块引用(框架,自带等)路由地址、静态文件(html、js等),简单代码理解。
1、引用框架

2、相关代码
2.1 uploadFile
先接收上传的文件变量,MultipartFile后门跟的是类型file

在BP我们也可以看到,它上传的文件名uploadFile变量

2.2 fullName
再接收输入框fullName的值

BP数据包传入了fullName

2.3 拼接执行
![]()
0x02 第三关
1、先用../测试一下

原因是replace进行黑名单过滤

这样的绕过很简单,我提供几个思路:
- 双写....//
- 伪协议
- 编码
- 等价

0x03 第四关
1、找注入点

要求放在/home/webgoat/.webgoat-8.1.0/PathTraversal/ 下,BP抓包放在重发器里面分析,这三个输入点都没有回显,我们接着试试请求部分

找到注入点

0x04 第五关
1、进入靶场(这个猫)
要求找到名叫path-traversal-secret.jpg的文件

2、BP抓包

加上id后,404

再加上目标文件

400请求参数有误或者请求有误,我们试试../进行URL编码

不提示有非法字符,我试过双写绕过,其他形式的编码,最后发现在../../找到200

去加密,传上去就可以了。
版权声明:本文为m0_61506558原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。