新手写作,文中若有疏漏,恳请各位老师批评指正。
一、题目
二、题目考点
前端校验绕过、HTML 属性控制、表单提交逻辑、前端限制可被随意篡改,服务端未做校验。
三、解题思路
题目通过 HTML 的 disabled 属性限制按钮点击,属于纯前端防护,可直接篡改页面元素或构造请求绕过。
四、解题步骤
解法一:修改元素(直接操作页面)
- 检查,发现存在disabled=""字段
- 删除该字段
- 将disabled=""删除后,按钮可按,按下后得到flag
解法二:通过表单提交(绕过页面交互)
第一步:检查元素(F12)
- 右键那个 “不能按的按钮” → 选择 “检查”。
- 看 HTML 代码:
- 如果有
disabled,直接删掉这个属性,按钮就能点了。 - 如果有
onclick,把return false;删掉,或者直接在控制台执行提交函数。
如果没有
第二步:直接构造HTTP请求:
- method="POST":说明数据是通过POST方式发送的;
- name="auth":说明需要传递的参数名为auth。
- 当点击这个按钮时,浏览器会发送一个 POST 请求,参数就是 auth=flag。服务器只认参数,不认操作方式
- 打开HackBar,点Load URL;
- 选择POST方式,填写参数auth=flag(题目提示的目标参数值);
- 发送请求后,拿到flag。
本质上,这个方法是跳过“点击按钮”的前端操作,直接向服务器发送符合要求的请求——因为服务器最终只验证接收到的参数,不关心请求是通过页面按钮触发,还是手动构造的。