Vil*_*ler 2 javascript json code-injection
它不是关于 eval()
假设我有#password输入,我将此数据作为JSON对象的一部分发送
var toSend = {
text: 'hello',
pass: $("#password").val()
};
Run Code Online (Sandbox Code Playgroud)
我需要验证输入吗?将", you: "are hacked"通信的另一面解释为单个字符串或空字符串和另一个属性?
编辑:在浏览器环境中什么都不会发生,但是如果JSON将作为纯文本通过互联网发送并再次解析?
如果你要做你正在描述的事情,那么什么都不会发生,因为json正在被转义(如果你正在使用解析器(JS对象 - > JSON))
在浏览器环境中什么都不会发生,但是如果JSON将作为纯文本通过互联网发送并再次解析?
如果您正在将字符串版本(JSON)解析为JS对象,则所有值都是未分配的,因此您必须在以后转义它们.