2

有谁知道如何修复 Checkmarx 漏洞——基于 Java 的应用程序的跨站点历史操作?这是 Checkmarx scan 提供的描述——“该方法可能会泄漏服务器端条件值,从而使用户能够从另一个网站进行跟踪。这可能构成侵犯隐私。”

以下是相关代码:

if(user is logged in) {
     response.sendRedirect(url);
} else {
     response.sendRedirect(url)
}

谷歌搜索后,我发现了一些 Checkmarx 文档,建议在重定向 url 中添加一个随机数。这是文档的链接:https ://www.checkmarx.com/wp-content/uploads/2012/07/XSHM-Cross-site-history-manipulation.pdf

例如:

If ( !isAuthenticated)
  Redirect(„Login.aspx?r=‟ + Random())

我尝试了这种方法,但 Checkmarx 扫描仍然显示相同的漏洞。不知道为什么。

4

2 回答 2

1

XSHM 可能是 CX 文档中的 CWE-203 ( http://cwe.mitre.org/data/definitions/203.html )。

问题可能很复杂,也可能很简单。仅凭您的 5 行,我们无法准确说出好的解决方案是什么。

于 2018-09-20T09:34:33.980 回答
0

Checkmarx 检查您的重定向网址是否包含一些随机值。以下是Java/Cx/General/Find_Cross_Site_History_Manipulation_Random 检查的一些随机方法:

  1. Random.Next
  2. Math.random
  3. Randomizer.*
  4. Random.nextBytes
于 2021-06-07T12:00:11.663 回答