逻辑漏洞
突破功能限制漏洞
任务:要求突破查询按钮disable限制,获取编号:110010的查询内容(弹框中的flag)。
页面查询按钮被设置为 disabled 状态,前端通过伪类限制用户提交。通过浏览器开发者工具移除 disabled 属性后,表单恢复可交互状态,可手动输入学号 110010 并提交。
查询元素样式发现,元素上设置了伪类 disabled,去除伪类表单即被激活可提交



查询成功返回弹窗,内容为:
flag{byp4ss1s_ez}
用户信息泄漏与暴力破解
任务:通过回显信息,以暴力破解方式猜测系统中存在的两个用户名
(提示:用户名以 “u” 开头),并暴力破解这两个用户对应的密码。
系统登录接口存在用户枚举风险:错误用户名与错误密码返回不同响应(如状态码或提示)。根据提示“用户名以 u 开头”,推测可能为 user、user1 等。
使用 Burp Suite Intruder 的 Cluster Bomb 模式,结合弱密码表进行爆破查询。设置:
- Payload 1:
user,user0,user1, …,user5 - Payload 2:常见弱密码(如
123456,password,admin等)
观察响应,发现 user 和 user1 在输入正确密码时返回 302 重定向,意味着密码正确,暴力破解成功。其余组合返回 200 或错误提示,确认这两个用户存在且密码可爆破。
抓取POST请求

根据提示,猜测u开头即为user或user后加数字,测试user user0-5
利用burp Suite Intruder模块的Cluster bomb功能结合弱密码表进行爆破查询

可以看到user,user1触发了302重定向意味着密码正确,暴力破解成功
现实中,此类信息可结合拖库密码表进行撞库攻击,提升横向移动成功率。
越权漏洞(水平越权)
通过上一步破解的用户名密码登录,利用越权漏洞获取admin与admin1的个人信息。
使用爆破得到的 user1 凭据登录,
将页面web/info.php发送到Burp Repeater,观察cookies:
发现cookies在url解码后,有明显base64特点,解码发现,值实际为user与用户名一致,利用这一漏洞可构造用户admin,admin1的cookies

利用Cookie漏洞构造admin的登录Cookie:
向用户详情页web/info.php提交替换的Cookie

将修改的请求用 Burp Repeater重放,成功返回管理员个人信息。
成功触发越权漏洞。现实中cookies大多基于用户某一特征生成,如果掌握了cookies构造方式并暴力破解计算出密钥即可提权,缓解方案可以是cookies采用非对称加密增大破解成本
现实环境中,可利用拖库得到的密码表配合sniper对其他目标网站进行撞库,提高入侵概率
该漏洞源于服务端未校验用户身份与请求资源的归属关系,仅依赖前端或简单 Cookie 标识。建议采用服务端会话绑定、权限校验中间件等方式防御。
遍历漏洞(ID 枚举)
任务:已知当前系统中存在的一个学号为:20190504035XA01。利用遍历漏洞获取其他学号对应的成绩(不少于5条)。
利用burp Suite Intruder模块的Cluster bomb功能,猜测前面的年份,班级号和后面的个人ID可变。修改学号的年份,和班级号和后面的个人ID的最后一位,计算笛卡尔积尝试遍历暴力破解

遍历组合观察结果发现除测试的0外共8条记录response的length不一致,与其他相比较长,这表示学号内有成绩,学号有效。其中有成绩的response的长度较大以此特征筛选出有效学号:

暴力破解六位数字编号
任务:获取系统中另一个六位数字编号对应的弹框flag内容。
抓取第1题的POST请求,并修改payload字段为number
从000000-999999开始执行遍历扫描
扫描完成后,按Length执行排序,发现编号 735142 的响应明显更长,疑似返回 flag。

手动验证该编号,弹窗返回:

得到flag
flag{d1ct_1s_v3ry_1mp0rt4nt}
Comments
Leave a comment