最近,我在一次安全工程师的采访中被打了一顿,但没有得到任何具体的反馈。我想再次向社区提出这个问题,这样我就可以对这些因素加以改进。我发现的秃鹫名单如下。
您在登录页面上,两个表单元素User: / Password:您的用户名是Peter。
成功登录该应用程序后,您将被定向到一个页面,上面写着“你好,彼得”。(此页面中“Peter”的来源来自在登录用户名表单中填充的用户变量)
这方面的通用代码如下:
public String login( String user, String pass ) {
if (pass == DB.lookup(user)){
return "Hello " + user;
}
else { .....}
} XSS:用户输入(用户)在没有经过编码库或验证器的情况下被推入响应的jsp页面,这意味着您是属于自己的。
Fix:我将实现从OWASP编码器项目到HTML元素的清除器。
我会使用bcrypt将密码存储为盐渍散列。每个散列密码的唯一盐。
发布于 2015-11-12 10:39:41
还没有人明确提到SQL注入的潜力。用户字符串需要进行适当的验证,以确保它的存在并且只包含一个有效的用户名。
发布于 2015-11-12 11:17:31
我可以看到以下漏洞:
如何解决这些问题:
https://security.stackexchange.com/questions/105184
复制相似问题