gpt4 book ai didi

javascript - 什么是 NodeJS/ExpressJs 中的 HTTP 参数污染攻击

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:23 24 4
gpt4 key购买 nike

我在这里读到了 https://www.npmjs.com/package/hpp

它说:“Express 在数组中填充具有相同名称的 http 请求参数。攻击者可以污染请求参数以利用此机制”

我不明白攻击者可以使用什么机制?

最佳答案

他们说的是可以利用将简单值参数转换为数组参数的机制。

如果您希望 name 是一个字符串:

?name=hello

他们可以将它转换成这样的数组:

?name=hello1&name=hello2

你不会得到一个字符串,而是一个数组:

[ "hello1", "hello2" ]

这种机制是隐式的,因此即使您不想要数组而是字符串,用户也可以强制执行。

这就是他们所说的全部。从那里开始,根据您的代码实际执行的操作,可能会产生多种后果。为了防止它,您可能应该检查字符串是否为字符串,数组是否为数组。这是关于安全的永恒格言:

Never trust the user, never trust input.

每天重复 10 次。

关于javascript - 什么是 NodeJS/ExpressJs 中的 HTTP 参数污染攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30672500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com