使用版本 4 UUID 作为路径参数时的安全漏洞
Security vulnerabilities when using version 4 UUID as a path parameter
我们正在开发 REST API,其中路径参数之一是版本 4 中的用户 uuid。这是否可以解释 url 漏洞中通过查询字符串暴露的信息,如 https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url 所述?
我在一些博客中读到,就安全漏洞而言,版本 4 UUID 是安全的。
有人可以阐明上述理解吗?
Version 4 UUIDs 是随机的。它们不包含有关系统的任何信息。只要随机性取自好的来源,它们就是安全的。
这取决于语义。在 url 中发送任意 uuid 是完全可以的,为什么不呢?这只是一堆随机数。
但是,如果该 uuid 恰好是会话 ID、csrf 令牌或任何以任何方式敏感的内容,那么这就是一个问题。不是因为 uuid,url 中的任何敏感数据都是一个漏洞,因为 urls 被缓存在浏览器中,被登录到代理和服务器本身等等。因此,您不想在 url 中为攻击者发送任何有价值的东西 - 加密随机 uuid 听起来非常敏感,否则您为什么要拥有它?
我们正在开发 REST API,其中路径参数之一是版本 4 中的用户 uuid。这是否可以解释 url 漏洞中通过查询字符串暴露的信息,如 https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url 所述?
我在一些博客中读到,就安全漏洞而言,版本 4 UUID 是安全的。
有人可以阐明上述理解吗?
Version 4 UUIDs 是随机的。它们不包含有关系统的任何信息。只要随机性取自好的来源,它们就是安全的。
这取决于语义。在 url 中发送任意 uuid 是完全可以的,为什么不呢?这只是一堆随机数。
但是,如果该 uuid 恰好是会话 ID、csrf 令牌或任何以任何方式敏感的内容,那么这就是一个问题。不是因为 uuid,url 中的任何敏感数据都是一个漏洞,因为 urls 被缓存在浏览器中,被登录到代理和服务器本身等等。因此,您不想在 url 中为攻击者发送任何有价值的东西 - 加密随机 uuid 听起来非常敏感,否则您为什么要拥有它?