黑盒测试实战:一个登录框,我挖出了 4 类问题
原创
夜游神
夜游神
船山信安
2026年11月11日 00:00
湖南
去阅读
实战笔记 · PENTEST
黑盒测试实战:一个登录框,我挖出了 4 类问题
只有账号、密码两个框,能挖出多少?这篇复盘一次授权黑盒,从登录入口挖到 4 类问题。
黑盒不黑——它考的是你对「正常流程」有多熟,才知道哪里不正常。
所有测试在授权范围内进行;文中 payload 为示意,不含可武器化内容。
0101 逻辑缺陷:验证码与重试
先看验证码:刷新页面时验证码变不变?提交失败它变不变?如果不变或前端校验,等于没有。再看重试:连续错 20 次会不会锁。
1验证码前端校验 → 绕过只需不请求验证码接口。
2无失败锁定 → 可爆破(授权内仅做可行性验证)。
3错误信息区分「用户不存在 / 密码错」→ 用户名可枚举。
逻辑缺陷最容易被自动化工具漏掉,因为它不改变响应码,只改变「业务能不能被滥用」。黑盒里要拿业务视角去看。
0202 越权:改一个 ID 就进别人房间
登录后很多功能用 user\_id 直接从前端取。把别人的 ID 塞进去,看能不能读到他的数据——这就是最典型的 IDOR。
把响应里的 own id 改成别人的(授权测试)
GET /api/order?user\_id=10086
若返回他人订单 -> IDOR 确认
IDOR 的隐蔽之处在于:每个请求都「合法」,只是身份对了、对象错了。它不靠注入,靠的是服务端没校验「这个人能不能看这条数据」。
0303 注入:登录处也是入口
账号框、密码框都是输入点。用单引号、恒真条件做基础探测,看报错与响应差异,确认是否存在 SQL 注入或 NoSQL 注入。
注意黑盒下多用布尔/时间盲注,差异很弱——这正是上一篇讲「Agent 容易误判盲注」的现实背景。弱信号要人工观测,不能只看工具红没红。
0404 信息泄露:报错与隐藏接口
登录失败有时回显堆栈;登录成功后的前端 JS 里常藏着 /api/admin 这类没在菜单出现的接口。黑盒的「隐藏门」大多在这里。
做法:把前端打包的 JS 全部拉下来,搜 /api、internal、admin 之类路径,再逐个做鉴权测试。这一步常能绕过「页面上没有的入口」。
0505 加固清单
| 问题 | 加固 |
| 验证码缺陷 | 服务端校验 + 失败即失效 |
| 无锁定 | 限频 + 渐进延迟 + 告警 |
| IDOR | 服务端按会话身份取资源,不信任前端 ID |
| 注入 | 参数化查询 + 最小权限账号 |
0606 黑盒的边界与节奏
黑盒不是「乱试」,它有节奏:先摸清正常流程,再逐项偏离看系统怎么反应。每一步偏离都要能说清「我在测什么、预期是什么、实际是什么」。
好的黑盒测试员手里有一张「正常态清单」;所有发现,都是正常态被打破的那一刻。
最后把发现按「可利用性 × 影响面」排序,优先写高确定的。授权范围内止步于「确认存在」,不继续扩大验证深度。
参考来源
OWASP WSTG — v4.2 Authentication / Authorization / Input Validation
OWASP Top 10 — A01 Broken Access Control / A03 Injection
PortSwigger Web Security Academy — Auth & IDOR Labs
本文为黑盒测试的方法论与防守对照。所有 payload 为示意,测试动作限定在授权范围内,不含可武器化内容。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论