RyanJsonFuzzer.dict 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. # 基本关键字
  2. "true"
  3. "false"
  4. "null"
  5. # 对象结构
  6. "{"
  7. "}"
  8. ":"
  9. ","
  10. # 数组结构
  11. "["
  12. "]"
  13. # 常见字符串模式
  14. "\"key\""
  15. "\"value\""
  16. "\"name\""
  17. "\"id\""
  18. "\"string\""
  19. "\"number\""
  20. "\"message\""
  21. "\"data\""
  22. "\"status\""
  23. "\"error\""
  24. """
  25. "\\"
  26. # 数字边界
  27. "0"
  28. "1"
  29. "-1"
  30. "1234567890"
  31. "3.14159"
  32. "1e10"
  33. "-1e-10"
  34. "999999999999999999999999999"
  35. "-999999999999999999999999999"
  36. "-"
  37. "000-000"
  38. "-0045.12348"
  39. "0123"
  40. "0123.123"
  41. # 嵌套结构
  42. "{\"a\":1}"
  43. "[1,2,3]"
  44. "{\"obj\":{\"nested\":true}}"
  45. "{\"arr\":[{\"x\":1},{\"y\":2}]}"
  46. "{\"deep\":{\"nest\":{\"more\":{\"inner\":{\"flag\":true}}}}}"
  47. "[{\"id\":1,\"val\":true},{\"id\":2,\"val\":false}]"
  48. # 复杂对象
  49. "{\"inter\":16,\"double\":16.89,\"string\":\"hello\",\"boolTrue\":true,\"boolFalse\":false,\"null\":null}"
  50. "{\"items\":[{\"id\":1},{\"id\":2},{\"id\":3}]}"
  51. "{\"user\":{\"id\":123,\"name\":\"Alice\",\"roles\":[\"admin\",\"editor\"]}}"
  52. "{\"response\":{\"status\":200,\"data\":[{\"id\":1},{\"id\":2}]}}"
  53. # 边界结构
  54. # 键未加引号
  55. "{a:1}"
  56. # 缺少冒号
  57. "{\"a\" 1}"
  58. # 缺少逗号
  59. "{\"a\":1 \"b\":2}"
  60. # 多余逗号
  61. "{\"a\":1,}"
  62. # 数组尾逗号
  63. "[1,2,3,]"
  64. # 空对象错误
  65. "{,}"
  66. # 空数组错误
  67. "[,]"
  68. # 未闭合字符串
  69. "{\"a\":\"value}"
  70. # 单引号字符串
  71. "{\"a\":'value'}"
  72. # 非法转义
  73. "{\"a\":\"\\q\"}"
  74. # 非法 Unicode 转义
  75. "{\"a\":\"\\uZZZZ\"}"
  76. # 位数不足
  77. "{\"a\":\"\\u12\"}"
  78. # 控制字符
  79. "{\"a\":\"\\x07\"}"
  80. # 小数点后无数字
  81. "1."
  82. # 科学计数法错误
  83. "1e"
  84. # 科学计数法错误
  85. "1e+"
  86. # 超大指数
  87. "1e9999"
  88. # 拼写错误
  89. "True"
  90. "False"
  91. "Null"
  92. "tru"
  93. "nul"
  94. # 顶层错误
  95. "string"
  96. "123"
  97. "true"
  98. "null"
  99. # 注释错误:单行
  100. "// comment"
  101. "/* block comment */"
  102. # 非 UTF-8 字节流
  103. "\xC0\xAF"
  104. "\xFF\xFF"
  105. "\xFE\xFF"
  106. # 空结构
  107. "{}"
  108. "[]"
  109. # 特殊转义
  110. "\\n"
  111. "\\r"
  112. "\\t"
  113. "\\b"
  114. "\\f"
  115. "\\u0000"
  116. "\\uD800\\uDC00"
  117. "\\uDBFF\\uDFFF"
  118. "\\\""
  119. "\\\\"
  120. "/"
  121. # 一维对象,覆盖所有 JSON 类型
  122. "{\"string\":\"hello\",\"number\":123,\"boolean_true\":true,\"boolean_false\":false,\"null_value\":null,\"array\":[1,\"two\",false,null],\"object\":{\"nested_key\":\"nested_value\"}}"
  123. # 错误重复结构
  124. "[{\"error\":4,\"error\":\"45\"}]"
  125. "[{\"id\":1,\"id\":2}]"
  126. "[{\"name\":\"Alice\",\"name\":\"Bob\"}]"
  127. "[{\"value\":true,\"value\":false}]"
  128. "[{\"unicode\":\"\\u4F60\\u597D\",\"unicode\":\"\\u4E16\\u754C\"}]"
  129. "[{\"data\":[1,2,3],\"data\":{\"x\":1}}]"
  130. "[{\"nested\":{\"a\":1},\"nested\":{\"a\":2}}]"
  131. "[{\"error\":null,\"error\":999}]"
  132. "[{\"flag\":false,\"flag\":true}]"
  133. "[{\"number\":123,\"number\":\"123\"}]"
  134. "[{\"list\":[1,2],\"list\":[3,4]}]"
  135. # Unicode 示例(转义形式)
  136. "{\"unicode\":\"\\u4F60\\u597D\"}"
  137. "{\"unicode\":\"\\u4E16\\u754C\"}"
  138. "{\"unicode\":\"\\uD83C\\uDF0D\"}"
  139. "{\"unicode\":\"\\uD83D\\uDE00\"}"
  140. # 孤立高代理
  141. "{\"unicode\":\"\\uD800\"}"
  142. # 孤立低代理
  143. "{\"unicode\":\"\\uDFFF\"}"
  144. # 超出最大码点
  145. "{\"unicode\":\"\\u110000\"}"
  146. # 非十六进制
  147. "{\"unicode\":\"\\uZZZZ\"}"
  148. # 位数不足
  149. "{\"unicode\":\"\\u12\"}"
  150. # 错误代理配对
  151. "{\"unicode\":\"\\uD800\\u0041\"}"
  152. # RESTful 风格常见响应
  153. "{\"status\":200,\"message\":\"OK\"}"
  154. "{\"status\":404,\"error\":\"Not Found\"}"
  155. "{\"status\":500,\"error\":\"Internal Server Error\"}"
  156. "{\"status\":401,\"error\":\"Unauthorized\"}"
  157. "{\"status\":403,\"error\":\"Forbidden\"}"
  158. # RESTful 数据响应
  159. "{\"status\":200,\"data\":{\"id\":1,\"name\":\"Alice\"}}"
  160. "{\"status\":200,\"data\":[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]}"
  161. "{\"status\":200,\"data\":{\"items\":[{\"id\":1,\"value\":true},{\"id\":2,\"value\":false}]}}"
  162. # RESTful 分页响应
  163. "{\"status\":200,\"page\":1,\"pageSize\":10,\"total\":100,\"data\":[{\"id\":1},{\"id\":2}]}"
  164. "{\"status\":200,\"meta\":{\"page\":2,\"limit\":20},\"data\":[{\"id\":21},{\"id\":22}]}"
  165. # RESTful 错误响应
  166. "{\"error\":{\"code\":1234,\"message\":\"Invalid request\"}}"
  167. "{\"error\":{\"code\":5678,\"message\":\"Timeout\"}}"
  168. # RESTful 响应
  169. "{\"status\":200,\"user\":{\"id\":123,\"name\":\"Alice\",\"roles\":[\"admin\",\"editor\"]},\"token\":\"abcdef123456\"}"
  170. "{\"status\":200,\"config\":{\"theme\":\"dark\",\"language\":\"en\"},\"features\":[\"chat\",\"upload\",\"search\"]}"
  171. # 循环/深度嵌套场景
  172. "{\"a\":{\"b\":{\"c\":{\"d\":{\"e\":{\"f\":{\"g\":true}}}}}}}"
  173. "[[[[[[[[[[1]]]]]]]]]]"
  174. "[{\"a\":[{\"b\":[{\"c\":[{\"d\":true}]}]}]}]"
  175. "{\"a\":[{\"b\":[{\"c\":[{\"d\":[{\"e\":false}]}]}]}]}"
  176. "{\"node\":{\"id\":1,\"child\":{\"id\":2,\"child\":{\"id\":3,\"child\":{\"id\":4}}}}}"
  177. "{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":null}}}}}}"
  178. "{\"status\":200,\"data\":{\"items\":[{\"id\":1,\"children\":[{\"id\":2,\"children\":[{\"id\":3}]}]}]}}"
  179. "{\"mixed\":[{\"obj\":{\"arr\":[{\"obj\":{\"arr\":[{\"obj\":{\"arr\":[true]}]}]}]}}]}"
  180. # 极端情况
  181. "{\"long\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}"
  182. "{\"big\":999999999999999999999999999}"
  183. "[[],[],[],[],[],[],[],[],[],[]]"
  184. "{\"nestedArray\":[[1,2],[3,4],[5,[6,[7,[8]]]]]}"
  185. "{\"escape\":\"line1\\nline2\\tTabbed\"}"
  186. "{\"mixed\":[16,16.89,\"hello\",true,false,null,{\"deep\":{}}]}"
  187. # 非法/边界片段(测试错误处理)
  188. ",{}"
  189. ":[]"
  190. "[[]]"
  191. "{{}}"
  192. ",[]"
  193. ":{}"
  194. "''"
  195. "\\x00"
  196. "\\0"
  197. "//"
  198. "/**/"
  199. "\x01\x00"
  200. "\x00\x00\x00\x00"
  201. "\x00\x00\x00\x00\x00\x00\x00\x00"
  202. "\x00\x00\x00\x00\x00\x00\x00\x01"
  203. "\x01\x00\x00\x00\x00\x00\x00\x00"
  204. "\x10\x00\x00\x00\x00\x00\x00\x00"
  205. "\xff\xff"
  206. "\xfe\xff\xff\xee"
  207. "\xff\xff\xff\xff"
  208. "\xfe\xff\xff\xff\xff\xff\xff\xfa"
  209. "\xfb\xff\xff\xff\xff\xff\xff\xff"
  210. "\xff\xff\xff\xff\xff\xff\xff\xff"