| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- # =====================================================
- # RyanJson Fuzzer Dictionary
- # 用于 libFuzzer 的 JSON 模糊测试字典
- # =====================================================
- # ===================
- # 基本 JSON 关键字
- # ===================
- "true"
- "false"
- "null"
- # ===================
- # JSON 结构符号
- # ===================
- # 对象
- "{"
- "}"
- ":"
- ","
- # 数组
- "["
- "]"
- # 字符串
- "\""
- # ===================
- # 常见键名
- # ===================
- "\"key\""
- "\"value\""
- "\"name\""
- "\"id\""
- "\"data\""
- "\"status\""
- "\"error\""
- "\"message\""
- "\"type\""
- "\"result\""
- "\"code\""
- "\"items\""
- "\"count\""
- "\"total\""
- "\"list\""
- # ===================
- # 整数值
- # ===================
- "0"
- "1"
- "-1"
- "123"
- "-123"
- "2147483647"
- "-2147483648"
- "9223372036854775807"
- "-9223372036854775808"
- "999999999999999999999999999"
- "-999999999999999999999999999"
- # ===================
- # 浮点数值
- # ===================
- "0.0"
- "0.1"
- "-0.1"
- "3.14159"
- "3.141592653589793"
- "1.7976931348623157e308"
- "-1.7976931348623157e308"
- "2.2250738585072014e-308"
- "1e10"
- "1e-10"
- "-1e10"
- "-1e-10"
- "1E10"
- "1E-10"
- "1e+10"
- "1.5e+9999"
- "1e9999"
- "-1e9999"
- "123e100000"
- "-123e100000"
- "123e-10000000"
- "123.456e-789"
- # ===================
- # 特殊浮点数边界
- # ===================
- "0.000001"
- "0.0000001"
- "999999.999999"
- "1000000.0"
- "0.123456789012345678901234567890"
- # ===================
- # 科学计数法错误
- # ===================
- "1e"
- "1e+"
- "1e-"
- "1eE"
- "1eAbc"
- ".1e10"
- "1."
- "1.e10"
- "-.1"
- # ===================
- # 前导零错误
- # ===================
- "00"
- "01"
- "0123"
- "-00"
- "-01"
- "-0123"
- "00.123"
- # ===================
- # 简单结构
- # ===================
- "{}"
- "[]"
- "{\"a\":1}"
- "{\"a\":\"b\"}"
- "[1]"
- "[1,2,3]"
- "[true,false,null]"
- # ===================
- # 嵌套结构
- # ===================
- "{\"obj\":{\"nested\":true}}"
- "{\"arr\":[1,2,3]}"
- "[{\"id\":1},{\"id\":2}]"
- "{\"deep\":{\"nest\":{\"more\":{\"inner\":{\"flag\":true}}}}}"
- "[[[[[[1]]]]]]"
- "{\"a\":{\"b\":{\"c\":{\"d\":{\"e\":null}}}}}"
- # ===================
- # 混合类型示例
- # ===================
- "{\"int\":16,\"double\":16.89,\"string\":\"hello\",\"bool\":true,\"null\":null}"
- "[16,16.89,\"hello\",true,false,null]"
- "{\"mixed\":[1,\"two\",true,null,{\"nested\":\"obj\"}]}"
- # ===================
- # 转义字符
- # ===================
- "\\n"
- "\\r"
- "\\t"
- "\\b"
- "\\f"
- "\\\""
- "\\\\"
- "\\/"
- "\\u0000"
- "\\u0020"
- "\\u00FF"
- "\\uFFFF"
- # ===================
- # Unicode 转义
- # ===================
- "\\u4F60\\u597D"
- "\\u4E16\\u754C"
- "\\uD83D\\uDE00"
- "\\uD83C\\uDF0D"
- # Unicode 代理对边界
- "\\uD800\\uDC00"
- "\\uDBFF\\uDFFF"
- # 错误的 Unicode
- "\\uD800"
- "\\uDFFF"
- "\\uZZZZ"
- "\\u12"
- "\\u123"
- "\\uD800\\u0041"
- # ===================
- # 特殊字符串
- # ===================
- "{\"empty\":\"\"}"
- "{\"space\":\" \"}"
- "{\"tab\":\"\\t\"}"
- "{\"newline\":\"\\n\"}"
- "{\"unicode\":\"\\u4E2D\\u6587\"}"
- "{\"emoji\":\"\\uD83D\\uDE00\"}"
- # ===================
- # RESTful 风格响应
- # ===================
- "{\"status\":200,\"message\":\"OK\"}"
- "{\"status\":404,\"error\":\"Not Found\"}"
- "{\"status\":500,\"error\":\"Internal Server Error\"}"
- "{\"code\":0,\"data\":null}"
- "{\"success\":true,\"data\":[]}"
- "{\"success\":false,\"message\":\"Error\"}"
- # ===================
- # 分页响应
- # ===================
- "{\"page\":1,\"pageSize\":10,\"total\":100,\"data\":[]}"
- "{\"offset\":0,\"limit\":20,\"items\":[]}"
- # ===================
- # 重复键(测试处理)
- # ===================
- "{\"key\":1,\"key\":2}"
- "{\"a\":\"first\",\"a\":\"second\"}"
- "{\"dup\":true,\"dup\":false}"
- # ===================
- # 语法错误示例
- # ===================
- # 缺少引号
- "{a:1}"
- "{key:\"value\"}"
- # 缺少冒号
- "{\"a\" 1}"
- # 缺少逗号
- "{\"a\":1 \"b\":2}"
- "[1 2 3]"
- # 多余逗号
- "{\"a\":1,}"
- "[1,2,3,]"
- "{,}"
- "[,]"
- "[1,,2]"
- # 未闭合
- "{\"a\":1"
- "[1,2,3"
- "{\"str\":\"unclosed"
- "["
- "{"
- # 单引号(非法)
- "{'a':'b'}"
- # 注释(非法)
- "// comment"
- "/* block */"
- "{\"a\":1}// trailing"
- # ===================
- # 控制字符
- # ===================
- "\x00"
- "\x01"
- "\x1F"
- "\x7F"
- # ===================
- # 非法字节序列
- # ===================
- "\xC0\xAF"
- "\xFF\xFF"
- "\xFE\xFF"
- "\x80"
- "\xBF"
- # ===================
- # 边缘 token
- # ===================
- "True"
- "False"
- "Null"
- "TRUE"
- "FALSE"
- "NULL"
- "tru"
- "fals"
- "nul"
- # ===================
- # 极端嵌套
- # ===================
- "[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]"
- "{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{\"a\":{}}}}}}}}}}}"
- # ===================
- # 超长字符串
- # ===================
- "{\"long\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}"
- # ===================
- # 空白字符变体
- # ===================
- " { } "
- "\x09{\x09}\x09"
- "\x0a[\x0a]\x0a"
- "\x0d\x0a{\x0d\x0a}\x0d\x0a"
- "{ \"a\" : 1 }"
- "[ 1 , 2 , 3 ]"
- # ===================
- # 二进制边界测试
- # ===================
- "\x00\x00\x00\x00"
- "\xFF\xFF\xFF\xFF"
- "\x01\x00\x00\x00"
- "\x00\x00\x00\x01"
|