文章总结: 本文为安全人员提供了一份JSON登录接口的漏洞测试清单,旨在发现深层缺陷。内容涵盖基础数据类型、复杂结构注入、特殊字符、语法异常及SQL注入等多种测试向量。文章强调,通过多样化测试并结合业务逻辑,可绕过常规检测,发现被忽略的安全问题,培养全面的安全测试思维。 综合评分: 88 文章分类: WEB安全,渗透测试,漏洞分析,SRC活动,应用安全

赏金猎人:请查收这份JSON登录漏洞“体检清单”
升斗安全
2025年11月22日 19:42 广东
【文章说明】
- 目的:本文内容仅为网络安全技术研究与教育目的而创作。
- 红线:严禁将本文知识用于任何未授权的非法活动。使用者必须遵守《网络安全法》等相关法律。
- 责任:任何对本文技术的滥用所引发的后果自负,与本公众号及作者无关。
- 免责:内容仅供参考,作者不对其准确性、完整性作任何担保。
阅读即代表您同意以上条款。
在Web应用安全测试中,登录接口往往是攻击者首先瞄准的目标。今天我们将深入探讨JSON格式凭据的各种测试方法,帮助网络安全爱好者和赏金猎人们拓展测试思路。
基础数据类型测试
JSON基本请求格式(修改值进行尝试越权或爆破):
{"login":"admin","password":"admin"}
空值与异常数据类型:
//空凭据:{"login": "", "password": ""}
//空值:{"login": null, "password": null}
//数字类型:{"login": 123, "password": 456}
//布尔值:{"login": true, "password": false}
复杂结构注入:
数组与对象注入
// 数组类型{"login":["admin"],"password": ["password"]}
// 嵌套对象{"login":{"username":"admin","password":{"password":"password"}}}
// 深层嵌套{"login":{"innerLogin":"admin","password":{"innerPassword":"password"}}}
特殊字符与编码测试:
// 特殊字符 {"login":"@dm!n","password": "p@ssw0rd#"}
// Unicode编码{"login":"\u0061\u0064\u006D\u0069\u006E", "password": "\u0070\u0061\u0073\u0073\u0077\u006F\u0072\u0064"}
// HTML标记:{"login": "# admin", "password": "ololo-HTML-XSS"}
边界情况与异常处理:
结构异常测试
// 键值交换{"admin": "login", "password": "password"}
// 重复键{"login": "admin","login": "user", "password": "password"}
// 缺失字段{"password": "admin"} // 缺少login{"login": "admin"} // 缺少password
语法异常
// 单引号{'login': 'admin', 'password': 'password'}
// 缺失冒号{"login" "admin", "password": "password"}
//额外符号{"login":"admin","password": "password"}@@@@@@
高级注入技术:
SQL与代码注入
// SQL注入{"login":"admin'--","password": "password"}
// JSON注入{"login": "{\"injection\":\"value\"}", "password": "password"}
// 环境变量{"login": "${USER}", "password": "${PASS}"}
特殊格式数据
// 不符合格式规范的账号密码{"login": "[email protected]", "password": "[email protected]"}
// 将账号密码用日期、IP代替{"login":"192.0.2.0","password": "203.0.113.0"}{"login": "2023-08-03", "password": "2023-08-04"}
// 将账户密码进行编码 {"login":"YWRtaW4=","password": "cGFzc3dvcmQ="}
性能与边界测试:
大数据量测试
// 超长字符串{"login":"a"*10000, "password": "b"*10000}
// 超长Unicode{"login": "\u0061"*10000, "password": "\u0062"*10000}
// 大数字{"login":12345678901234567890,"password": 12345678901234567890}
特殊字符组合
// 控制字符{"login": "ad\u0000min", "password": "pass\u0000word"}
// 零宽度字符{"login":"admin​","password": "password​"}
// 转义序列{"login":"admin\\r\\n\\t","password": "password\\r\\n\\t"}
实战技巧思考:
- 多样化测试:不要局限于常见测试方式,尝试各种数据类型和结构
- 关注解析差异:不同JSON解析器对异常数据的处理可能不同
- 结合业务逻辑:根据具体应用特点调整测试策略
- 注意WAF绕过:某些特殊字符组合可能绕过安全检测
这些测试方法的价值不仅在于发现漏洞本身,更重要的是培养全面的安全测试思维。在实际的赏金猎杀过程中,灵活组合这些技术往往能发现那些单一测试无法触达的深层漏洞。
记住: 优秀的白帽黑客不是记住所有攻击向量,而是理解攻击原理并能够创造新的测试方法。
以上内容如果对你有一些启发或帮助的话,别忘了给我一键三连还有小心心哦~,你的鼓励与肯定对我很重要!
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论