webGoat目录访问控制路径

前言:

        我们要想成功得到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版权协议,转载请附上原文出处链接和本声明。