![]() |
1
2
使用Base64编码确实解决了返回注入攻击的直接问题,但它不一定解决了可能存在的注入攻击的问题。例如,此小提琴显示它确实可以防止立即出现的问题: https://jsfiddle.net/9prhkx74/
这不会显示警报框,只会抛出一个关于无效JSON的错误。但如果将其更改为文本字符串,则会显示警报框(注入易受攻击)
现在,如果您立即将其解析为JSON对象,它将爆炸,一切都将“安全”。但是如果你将它赋给一个值,因为你将要传递更多的值等等,你仍然有一个潜在的问题。 我建议在将数据传递回客户端或在服务器端进行处理之前,首先修复它并正确地转义数据,而不是在注射本身上使用bandaid。 有很多图书馆可以帮助我们做到这一点 https://www.npmjs.com/package/sanitize https://www.npmjs.com/package/express-sanitizer 这里有一篇相当不错的文章,重点介绍了为什么必须进行清理,而不仅仅是修补潜在的恶意数据: https://lockmedown.com/5-steps-handling-untrusted-node-js-data/ |
|
AlaaKudo810 · 无法更新猫鼬中的对象 1 年前 |
![]() |
Foobar · 如何在Fastify中为请求附加“项目”密钥? 1 年前 |
![]() |
chrispytoes · 从服务器端获取登录用户 1 年前 |