免责声明:
此文章仅用于学习研究使用,请勿用于违法犯罪,请遵守《网络安全法》等相关法律法规。

Burp绕过客户端控件限制

利用Burp绕过JS验证

前端JS验证介绍

举个例子,比如在电商平台购物时,各种购买条件都是被限制住的,例数量只能填写数字、手机号必须符合手机号的格式。如果不符合,那么页面就会发出提示信息,告诉当前的操作是不被允许的。在大部分情况下,都是通过前端JS来校验用户的输入,从而判断出操作是否规范

如何判断是否为前端校验

通过观察是否发出请求包来判断是否为前端校验

首先开启Burp截断请求,在页面中输入不符合规范的字符后点击提交,此时若窗口直接提示不允许信息,Burp没有抓取到对应的请求包,那么就可以判断该网页为前端JS校验。反之若抓取到了请求包则为后端JS校验

image-20210727234201098

绕过前端JS校验

实验靶机环境:WebGoat

首先Burp抓取一个能够通过JS校验的数据包

image-20210727234439482

尝试篡改数据,使每一个输入数据不符合正则表达式要求,然后点击Forward放行数据包

image-20210727234856180

放行后提示成功绕过,已通关

image-20210727235158255

利用Burp绕过隐藏表单的限制

隐藏表单介绍

隐藏表单最直观的体现就是,在网购最后支付的时候,客户仅仅只需要点击一个确认按钮,后台就能知道你要买的东西是什么,需要付多少钱,而不需要用户依次填写金额,数量,商品名等等。这都是因为在用户点击确认按钮后,发送的http请求往往是携带更多参数的,这些参数都被隐藏在表单之中防止用户任意篡改

绕过隐藏表单

这里以WebGoat中购买商品的关卡为例,以原始金额购买会被提示太贵了,需要更便宜。那么这道题就是想让我们免费拿下这台显示器才能通关

image-20210728000314460

Burp开启截断,页面点击结算,截取到请求。在请求包中可以发现金额的参数,于是我们可以直接在后端进行修改

image-20210728000736338

放行后提示成功购买,通关!

image-20210728000854597

最后修改:2021 年 08 月 03 日 02 : 36 PM
如果觉得我的文章对你有用,请随意赞赏