此文章仅用于学习研究使用,请勿用于违法犯罪,请遵守《网络安全法》等相关法律法规。
Burp绕过客户端控件限制
利用Burp绕过JS验证
前端JS验证介绍
举个例子,比如在电商平台购物时,各种购买条件都是被限制住的,例数量只能填写数字、手机号必须符合手机号的格式。如果不符合,那么页面就会发出提示信息,告诉当前的操作是不被允许的。在大部分情况下,都是通过前端JS来校验用户的输入,从而判断出操作是否规范
如何判断是否为前端校验
通过观察是否发出请求包来判断是否为前端校验
首先开启Burp截断请求,在页面中输入不符合规范的字符后点击提交,此时若窗口直接提示不允许信息,Burp没有抓取到对应的请求包,那么就可以判断该网页为前端JS校验。反之若抓取到了请求包则为后端JS校验
绕过前端JS校验
实验靶机环境:WebGoat
首先Burp抓取一个能够通过JS校验的数据包
尝试篡改数据,使每一个输入数据不符合正则表达式要求,然后点击Forward放行数据包
放行后提示成功绕过,已通关
利用Burp绕过隐藏表单的限制
隐藏表单介绍
隐藏表单最直观的体现就是,在网购最后支付的时候,客户仅仅只需要点击一个确认按钮,后台就能知道你要买的东西是什么,需要付多少钱,而不需要用户依次填写金额,数量,商品名等等。这都是因为在用户点击确认按钮后,发送的http请求往往是携带更多参数的,这些参数都被隐藏在表单之中防止用户任意篡改
绕过隐藏表单
这里以WebGoat中购买商品的关卡为例,以原始金额购买会被提示太贵了,需要更便宜。那么这道题就是想让我们免费拿下这台显示器才能通关
Burp开启截断,页面点击结算,截取到请求。在请求包中可以发现金额的参数,于是我们可以直接在后端进行修改
放行后提示成功购买,通关!