赏金猎人:请查收这份JSON登录漏洞“体检清单”

admin 2025-12-14 19:53:39 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

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


cover_image

赏金猎人:请查收这份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绕过:某些特殊字符组合可能绕过安全检测

这些测试方法的价值不仅在于发现漏洞本身,更重要的是培养全面的安全测试思维。在实际的赏金猎杀过程中,灵活组合这些技术往往能发现那些单一测试无法触达的深层漏洞。

记住: 优秀的白帽黑客不是记住所有攻击向量,而是理解攻击原理并能够创造新的测试方法。

以上内容如果对你有一些启发或帮助的话,别忘了给我一键三连还有小心心哦~,你的鼓励与肯定对我很重要!


评论:0   参与:  4