从session.setAttribute行的以下代码中获取CWE 259缺陷
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
HttpSession session = req.getSession();
session.setAttribute("resetPassword", "Gets are not accepted.");
this.getServletContext().getRequestDispatcher("pwReset.jsp").forward(req, resp);
}需要帮忙解决这个问题。
发布于 2018-12-06 08:49:05
首先,您必须理解像VeraCode这样的代码分析工具可能会产生假阳性&对于某些标志,您可能不得不接受来自安全团队的异常(可能不一定有代码修复)。
CWE 259完全是关于原始凭证信息的硬编码,比如密码中的密码&这是一个非常糟糕的编码实践。
对于您的例子,session.setAttribute("resetPassword", "Gets are not accepted.");,VeraCode如何知道您正在对原始密码进行硬编码?
很有可能,因为您将属性命名为resetPassword。
因此,hack修复将此属性名更改为不类似于word 密码,但即使在此修复之后,出于所有实际目的,漏洞仍然存在。
永久修复方法是在代码中硬编码/加密密码,或者从代码中移动密码的硬编码&利用其他安全机制获取重置密码信息。
请阅读潜在的缓解措施,节在- CWE-259:使用硬编码密码
https://stackoverflow.com/questions/53539594
复制相似问题