"顶级 JSON 数组" 是什么,为什么它们是安全风险?
"顶级 JSON 数组" 是什么,为什么它们是安全风险?
在下面的视频中,微软PDC演讲者在时间标记21:40处表示,重要的是将所有的JSON包装起来,使其不成为顶级数组:
https://channel9.msdn.com/Events/PDC/PDC09/FT12
未包装的顶级数组存在什么风险?
我应该如何检查和确定自己是否存在漏洞?我从第三方购买了许多组件,并有外部供应商开发我的代码。
“顶级JSON数组”是什么,为什么它们会带来安全风险?
在几年前,Jeremiah Grossman发现了一个影响Gmail的非常有趣的漏洞。一些人通过使用无法解析的冗余代码来解决这个漏洞。微软之所以谈论这个问题,是因为他们还没有修复他们的浏览器。Mozilla认为这是JSON规范的一个漏洞,因此他们在Firefox 3中修补了它。我完全同意Mozilla的观点,但每个Web应用程序开发人员都必须自己防御这个非常隐晦的漏洞。
在2017年,将敏感信息发送到JSON数组中仍然存在安全风险吗?这个问题值得另外撰写一篇文章,或许可以在security.stackexchange.com上进行讨论。
到2023年,我可以说你不需要担心这个问题。最后一个存在漏洞的浏览器发布已经超过十二年了,而且你的网站可能根本无法在该浏览器上加载(因为它只支持TLS 1.0,而你的网站希望只通过TLS 1.2+提供服务)。
感谢你提醒我更新这个信息。