背景: 1.2.24 之前 : autoType 默认开启, @type 可以直接指定任意类,利用门槛最低。 1.2.25 :引入 autoTypeSupport ,默认关闭;但黑名单覆盖不全,仍存在可绕过的期望类路径。 1.2.41、1.2.42、1.2.43、1.2.45、1.2.47 等版本 :陆续修复已知绕过,但每次修复后又会出现新的期望类路径,攻防进入拉锯。 1.2.68 :引入 safeMode ,开启后硬拒绝所有 @type 加载,比黑名单更彻底。 1.2.80 :将 AutoCloseable 加入黑名单,常见的探测类被收紧。 Fastjson2 :从架构上移除旧版 autoType 的默认行为,旧链的适用面进一步收窄。 一、 引言:触发点 在一次针对某金融企业的外网 SRC 打点中,我发现了一个返回数据极其复杂的业务接口。按照习惯,我向 JSON 参数中插入了一个畸形的闭