WebGoat Client side -- Bypass front-end restrictions

目录

一、习题通关

第2页

第3页

二、课程内容


一、习题通关

简单到会用burpsuite改包就能过

第2页

要求:绕过4种输入类型的限制

4种限制分别是:

(1)菜单(<select>标签)

(2)单选(<input>标签,type="radio")

(3)多选(<input>标签,type="checkbox")

(4)有长度限制的输入(<input type="text" value="12345" name="shortInput" maxlength="5">)

实质:绕过html限制

解题过程

1、准备好burpsuite,网页上点submit提交,burpsuite抓包

2、proxy模块找到下图所示的这个报文,send to repeater

3、改包,前三个参数的值改成网页限制的值之外的字符串,最后一个参数改成一个长度大于5的字符串,即可通关

第3页

要求:发送的请求中所有参数的值都不符合正则表达式。

一共有7个正则表达式,意思依次是:(1)3个小写字母(2)3个数字(3)只允许大小写字母、数字和空格(4)1~9其中一个的英文单词(5)5个数字(6)5个数字或者5个数字-4个数字(7)以2-9其中一个数字开头,后接两个数字,有或者没有短横线都行,后接3个数字,有没有短横线都行,后接4个数字

实质:绕过前端脚本检查

解题过程

1、准备好burpsuite,网页上点submit提交,burpsuite抓包

2、proxy模块找到下图所示的这个报文,send to repeater

3、除了error的值不改,其他字段都改成不符合正则表达式的值,send后即可通关

注意:怎么判断这边有前端脚本检查的呢?

主要依据是burpsuite抓到的报文中比网页提交的参数多一个error参数,这个参数如果设置为1,就会被判定为通关失败,如下图所示。可见后端是根据前端传来的error参数的值来进行判断的。

题外话:error参数在一个隐藏域里面,网页上submit按钮那行鼠标点右键,再点 检查,可以看到

二、课程内容

就一个道理,后端不要信任前端的检查结果,如果要求用户输入特定类型或格式的数据,就算前端有检查,服务器端也要再检查一遍。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值