|
|
1
1
您描述的以下是一个名为“不安全的直接对象引用”的漏洞,在 The OWASP top 10 for 2010 .
有几种方法可以解决此漏洞。首先是将用户的主键存储在 session variable 所以你不必担心它被攻击者操纵。对于以后的所有请求,特别是更新用户信息(如密码)的请求,请确保选中此会话变量。 下面是我正在描述的安全系统的一个示例:
编辑:
另一种方法是
Hashed Message Authentication Code
. 这种方法比使用会话安全得多,因为它引入了一种新的暴力攻击模式,而不是同时避免问题。hmac允许您查看一条消息是否被不知道该秘密的人修改过。
其思想是,如果用户试图更改其用户名或用户id,则hmac_值将无效,除非攻击者能够获取“机密”,这可以被粗暴地强制。 同样,你应该不惜一切代价避免使用这个安全系统。 尽管有时你没有选择(在你的示例漏洞中确实有选择)。 |
|
|
2
1
|