cosine - 前端人の日常频道
3 days ago
推荐一篇刚读完的文章,讲 Go JSON/XML/YAML 序列化/反序列化的坑,介绍了很多由于标记失误、不同的库反序列化结果不一致、使用错误 parser 之类的问题导致的安全问题
还有些我完全没想到的东西,比如 Go 的 JSON 反序列化支持自动把 Unicode 字母转换成 ASCII,比如你可以用拉丁字母
ſ
代替小写
s
,可以用 Kelvin 单位
K
代替字母
k
;而且 Go 的 parser 不分大小写,假如你的 struct field 是
Actions
,JSON 可以是
"aCTiOnſ"
(草这都什么设计
其实很多提到的点对 Go 以外的很多情况也都适用,在 JSON RPC 这么流行的当下还是值得一读的
https://blog.trailofbits.com/2025/06/17/unexpected-security-footguns-in-gos-parsers/
Home
Tags
Links
Powered by
BroadcastChannel
&
Sepia