给定一个用户提供的 JSON 字符串,我们如何在运行之前JSON.parse(untrustedString)对其进行清理?
我主要担心的是原型污染,但我也想知道我还应该注意什么?如果只是原型污染有风险,那么我认为可以通过正则表达式处理,但我怀疑还有其他问题?
例如,这篇关于解析不受信任的 JSON 然后创建对象副本的危险的文章。:
现在考虑发送到此端点的一些恶意 JSON 数据。
{
"user": {
"__proto__": {
"admin": true
}
}
}
如果发送此 JSON,JSON.parse将生成一个具有属性的对象 __proto__。如果复制库按上述方式工作,它将把 admin 属性复制到 req.session.user!
萧十郎
慕田峪9158850
相关分类