记一次webgoat靶场练习

本文介绍了在JAVA环境中通过webgoat靶场学习安全问题的过程,包括目录遍历漏洞的利用(如使用./,../x绕过限制),XSS攻击,不安全的登录验证(通过抓包工具绕过前端校验),以及逻辑越权漏洞的发现和利用(通过IDOR漏洞访问他人信息并修改权限)。
摘要由CSDN通过智能技术生成

参考资源第41天:JAVA安全-目录遍历访问控制XSS等安全问题_哔哩哔哩_bilibili

一、搭建靶场、webgoat 是一个由java语言搭建的靶场平台,同时需要jdk启动。

这里注意新版的webgoat需要使用jdk17才能启动,而有些博客中说的jdk11是没办法启动,这里困扰了我不少时间,顺便介绍一下如何让多个jdk版本共存,并且方便切换

同时在path中添加下方两个变量

在系统环境变量中添加每种jdk的路径地址,再添加JAVA_HOME 去选择jdk版本,如上图只用修改%JAVA_HOME%的值即可切换jdk版本

靶场演示   文件路径遍历模块

上传一个图片文件

根据下方的文件路径名,可以发现Full Name 和 路径中似乎有些关系

尝试修改一下

猜想得到印证,尝试使用一些特殊的方法,例如修改文件名为./,../x

显示过关,这里就是一个文件路径的简单利用

查看文件

发现确实多了一个x文件

这个漏洞可以使上传的webshell绕过目录解析,从而达到利用效果

第三关

修复了../这样的文件名上传

没有成功

猜测可能使用replace("../","")的方式过滤了此符号

尝试使用....//的方式绕过,这样如果猜测成立,即可使....//被过滤为../符号

绕过成功

原理上和sql注入,以及文件上传中的双写绕过方式类似

再来看另一个漏洞 不安全登录,前端校验中出现的问题

这里随便输入一个账号和密码,然后开启bp抓包,点击log in

然后数据包中就抓到了关键数据

用户名和密码都在上面,输入后点击提交

顺利过关

逻辑越权

 先按照题目内容提示,输入tom,cat登录

 来到下一个页面

 此页面提示,输入上方未显示的属性

此时使用burpsuite抓包,再将数据包的内容放入重发模块,看服务器回应数据

 发现了没有显示的属性role,userId,输入进去,注意大小写

反馈一下信息则表示输入正确,翻译内容为请记住这两个属性

 来到下一关

请输入对象引用url查看自己profile

抓包结果中看见post请求头中的参数

尝试输入WebGoat/IDOR/profile/?userId=2342384 等方式输入

最终发现结果为WebGoat/IDOR/profile/2342384 

 下一关

查看和编辑别人的Profile 

先抓包看数据

 发现有个GET后面对应的数据进行url编码

对其进行解码

将数据包放入重发器模块

将%7BuserId%7改值为 2342384

发现可以正常响应,因此发到爆破模块

攻击结果

 根据length字长和状态码传参

发现2342388返回字长不一样且是正常响应,尝试传参2342388

 看下面一个任务修改权限

将其权限role降低,color改为red

构造报文

将上图中的报文进行修改

GET请求方式改为PUT

Content-Type 改为 application/json格式

最后在报文末尾加入json语句

 

修改成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值