解析器如何处理 json 数据

时间:2021-02-08 13:50:57

标签: json parsing security html-parsing

我正在阅读 Cross_Site_Scripting_Prevention_Cheat_Sheet 并且它说的是规则 3.1

<块引用>

确保返回的 Content-Type 头是 application/json 而不是 文本/html。这将指示浏览器不要误解 上下文并执行注入的脚本

这是否意味着如果我想在 html 页面中嵌入 json 数据并且该数据包含例如 (没有空格)这不应该工作,因为解析器赢了不读取标签,所以在这种情况下我们不需要编码,对吗?!因为 owasp 说在那之后,我们也应该做 HTML 实体编码,所以我想知道我们为什么要这样做?

我开始学习解析器所以忘记我缺乏知识

1 个答案:

答案 0 :(得分:0)

根据我对 xss 站点攻击的理解,导致问题的不是解析器。让我们举一个例子,您收到来自受感染浏览器的请求。下面的示例

{ "Name": "<script>alert('test');</script>" }

以及来自浏览器的相同输入请求参数,您用于响应客户端而无需任何编码或检查。

当客户端浏览器尝试使用此字段显示浏览器的名称时,如 hello 、Name。用户将收到警报。这是不可取的。我们始终必须限制和拒绝接受任何标签的请求,以便消除任何脚本问题。

我不是安全问题的专家。但是拒绝带有 json 标签的请求总是更好。