登录口的json测试方法

admin 2025-12-23 16:04:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细列举了针对登录口JSON接口的多种模糊测试方法,涵盖基本凭证、数据类型变异、SQL注入、特殊字符及边界条件测试。尽管部分Payload可能无效,但这些手法旨在帮助安全人员理解接口解析逻辑,发现潜在解析异常或漏洞,以便在其他测试点进行验证。 综合评分: 80 文章分类: WEB安全,渗透测试,漏洞分析


cover_image

登录口的json测试方法

T6 sec

T6 sec

2025年10月29日 16:40 广东

登录中的一些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”:”@dm!n”,”password”: “p@ssw0rd#”} | | SQL 注入 | {“login”:”admin’–“,”password”: “password”} | | 凭据中的 HTML 标记 | {“login”: “# admin”, “password”: “ololo-HTML-XSS”} | | 凭据中的 Unicode | {“login”: “\u0061\u0064\u006D\u0069\u006E”, “password”: “\u0070\u0061\u0073\u0073\u0077\u006F\u0072\u0064”} | | 带有转义字符的凭据 | {“login”:”ad\nmin”,”password”: “pa\ssword”} | | 带有空格的凭据 | {“login”: ” “, “password”: ” “} | | 过长值 | {“login”:”a”*10000, “password”: “b”*10000} | | 缺少登录密钥 | {“password”: “admin”} | | 缺少密码密钥 | {“login”: “admin”} | | 交换的键值 | {“admin”: “login”, “password”: “password”} | | 额外的钥匙 | {“login”: “admin”, “password”: “admin”, “extra”: “extra”} | | 缺少冒号 | {“login” “admin”, “password”: “password”} | | 作为凭据的布尔值无效 | {“login”: yes, “password”: no} | | 所有键,无值 | {“”: “”, “”: “”} | | 嵌套对象 | {“login”: {“innerLogin”: “admin”, “password”: {“innerPassword”: “password”}}} | | 区分大小写测试 | {“LOGIN”:”admin”,”PASSWORD”: “password”} | | 登录为数字,密码为字符串 | {“login”: 1234, “password”: “password”} | | 登录为字符串,密码为数字 | {“login”: “admin”, “password”: 1234} | | 重复键 | {“login”: “admin”,”login”: “user”, “password”: “password”} | | 单引号而不是双引号 | {‘login’: ‘admin’, ‘password’: ‘password’} | | 仅使用特殊字符的登录名和密码 | {“login”:”@#$%^&*”,”password”: “!@#$%^&*”} | | Unicode 转义序列 | {“login”: “\u0041\u0044\u004D\u0049\u004E”, “password”: “\u0050\u0041\u0053\u0053\u0057\u004F\u0052\u0044”} | | 值作为对象而不是字符串 | {“login”:{“$oid”: “507c7f79bcf86cd7994f6c0e”}, “password”: “password”} | | 不存在的变量作为值 | {“login”: undefined, “password”: undefined} | | 额外的嵌套对象 | {“login”: “admin”, “password”: “password”, “extra”: {“key1”: “value1”, “key2”: “value2”}} | | 十六进制值 | {“login”: “0x1234”, “password”: “0x5678”} | | 有效 JSON 后的额外符号 | {“login”:”admin”,”password”: “password”}@@@@@@} | | 只有键,没有值 | {“login”:, “password”:} | | 插入控制字符 | {“login”: “ad\u0000min”, “password”: “pass\u0000word”} | | 字符串中的空字符 | {“login”: “admin\0” , “password”: “password\0”} | | 指数数作为字符串 | {“login”: “1e5” , “password”: “1e10”} | | 十六进制数字作为字符串 | {“login”: “0xabc” , “password”: “0x123”} | | 数字字符串中的前导零 | {“login”: “000123” , “password”: “000456”} | | 多语言输入(英语和韩语) | {“login”: “admin관리잔 , “password”: “passwordë¹ „밀번호”} | | 超长键 | {“a”*10000: “admin” , “b”*10000: “password”} | | 超长的 Unicode 字符串 | {“login”: “\u0061″*10000, “password”: “\u0062″*10000} | | 带分号的 JSON 字符串 | {“login”: “admin;” , “password”: “password;”} | | 带有加号的 JSON 字符串 | {“login”:”admin+”,”password”: “password+”} | | 带等号的 JSON 字符串 | {“login”:”admin=”,”password”: “password=”} | | 带有星号(*)符号的字符串 | {“login”:”admin*” , “password”: “password*”} | | 长 Unicode 字符串 | {“login”:”\u0061″*10000,”password”: “\u0061″*10000} | | 字符串中的换行符 | {“login”:”ad\nmin”,”password”: “pa\nssword”} | | 字符串中的制表符 | {“login”:”ad\tmin”,”password”: “pa\tssword”} | | 使用字符串中的 HTML 内容进行测试 | {“login”: “**admin”, “password”: “password”} | | 字符串中的 JSON 注入 | {“login”: “{\”injection\”:\”value\”}”, “password”: “password”} | | 使用字符串中的 XML 内容进行测试 | {“login”: “admin”, “password”: “password”} | | 数字、字符串和特殊字符的组合 | {“login”:”ad123min!@”,”password”: “pa55w0rd!@”} | | 浮点数作为字符串 | {“login”: “123.456”, “password”: “789.123”} | | 作为语言组合的价值 | {“login”:”adminवà¥à¤à¤¸à¥à¤ ¥à¤¾à¤à¤•”,”password”: “passwordà¤à¤¸à¤à¤à¤à¤à¤क”} | | 字符串中的非 ASCII 字符 | {“login”:”∆admin∆”,”password”: “∆password∆”} | | 单字符键和值 | {“l”: “a”, “p”: “p”} | | 环境变量的使用 | {“login”: “${USER}”, “password”: “${PASS}”} | | 字符串中的反斜杠 | {“login”:”ad\min”,”password”: “pa\ssword”} | | 特殊字符的长字符串 | {“login”:”!@#$%^&*()”*1000,”password”: “!@#$%^&*()”*1000} | | JSON 中的空键 | {“”: “admin”, “password”: “password”} | | 密钥中的 JSON 注入 | {” {\”injection\”:\”value\”} “: “admin”, “password”: “password”} | | 字符串中的引号 | {“login”:”\”admin\””,”password”: “\”password”} | | 作为嵌套数组的凭据 | {“login”:[[“admin”]],”password”: [[“password”]]} | | 作为嵌套对象的凭据 | {“login”:{“username”:{“value”:”admin”, “password”:{“password”: {“value”: “password”}}}} | | 键作为数字 | {123: “admin”, 456: “password”} | | 使用大于和小于符号进行测试 | {“login”:”admin>1″,”password”: “ | | 在凭据中使用括号进行测试 | {“login”:”(admin)”, “password”: “(password)”} | | 包含斜杠的凭据 | {“login”:”admin/user”,”password”: “pass/word”} | | 包含多种数据类型的凭据 | {“login”: [“admin” , 123, true, null, {“username”: [“admin”], “password”: [“password” , 123, false, null, {“password”: “password”]}}]} | | 使用转义序列 | {“login”:”admin\r\n\t”,”password”: “password\r\n\t”} | | 在字符串中使用大括号 | {“login”:”{admin}”, “password”: “{password}”} | | 在字符串中使用方括号 | {“login”:”[admin]”, “password”: “[password]”} | | 仅包含特殊字符的字符串 | {“login”:”!@#$$%^&*()”,”password”: “!@#$$%^&*()”} | | 带有控制字符的字符串 | {“login”: “admin\b\f\n\r\t\v\0” , “password”: “password\b\f\n\r\t\v\0”} | | 包含 JavaScript 代码的 JSON | {“login”: “admin” , “password”: “password”} | | 负数作为字符串 | {“login”: “-123”, “password”: “-456”} | | 值作为 URL | {“login”: “https://admin.com”, “password”: “https://password.com”} | | 电子邮件格式的字符串 | {“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”} | | 具有指数值的 JSON | {“login”: 1e+30, “password”: 1e+30} | | 具有负指数值的 JSON | {“login”: -1e+30, “password”: -1e+30} | | 在字符串中使用零宽度空间(U+200B) | {“login”:”admin​”,”password”: “password​”} | | 在字符串中使用零宽度连接器(U+200D) | {“login”:”admin—,”password”: “password—} | | 具有极大数字的 JSON | {“login”:12345678901234567890,”password”: 12345678901234567890} | | 带有退格字符的字符串 | {“login”:”admin\b”,”password”: “password\b”} | | 使用字符串中的表情符号进行测试 | {“login”:”admin😀”,”password”: “password😀”} | | 带有注释的 JSON | {/”login”: “admin”, “password”: “password”/} | | 具有 base64 编码值的 JSON | {“login”:”YWRtaW4=”,”password”: “cGFzc3dvcmQ=”} | | 包括空字节字符 | {“login”:”admin\0″,”password”: “password\0”} | | 具有科学记数法凭据的 JSON | {“login”: 1e100, “password”: 1e100} | | 带有八进制值的字符串 | {“login”:”\141\144\155\151\156″,”password”: “\160\141\163\163\167\157\162\144”} |


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:T6 sec T6 sec《登录口的json测试方法》

评论:0   参与:  3