黑盒测试实战:一个登录框,我挖出了4类问题"

admin 2026-11-12 12:18:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

黑盒测试实战:一个登录框,我挖出了 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 为示意,测试动作限定在授权范围内,不含可武器化内容。

评论:0   参与:  0