JSON中是否存在任何注入漏洞?

时间:2012-02-25 21:46:39

标签: javascript json code-injection

不是eval()

假设我有#password输入,我将此数据作为JSON对象的一部分发送

var toSend = {
    text: 'hello',
    pass: $("#password").val()
};

我需要验证输入吗? 将", you: "are hacked"解释为通信的另一方是单字符串还是空字符串和另一个属性?

编辑:在浏览器环境中什么都不会发生,但是如果JSON会通过互联网以纯文本形式发送并再次解析?

1 个答案:

答案 0 :(得分:7)

如果你要做你正在描述的事情,那么什么都不会发生,因为json正在被转义(如果你正在使用解析器(JS对象 - > JSON))

  

在浏览器环境中什么都不会发生,但是如果JSON将通过互联网作为纯文本发送并再次解析?

如果要将字符串版本(JSON)解析为JS对象,则所有值都不会被删除,因此您必须在之后将其转义。