【发布时间】:2018-11-21 21:50:18
【问题描述】:
我最近接手了一个应用程序,我们最近进行了一次 appscan,我得到了一个标记为易受攻击的项目。报告建议的补救任务是拒绝恶意请求。报告称 appscan 尝试过:
对原始请求应用了以下更改:将 HTTP 标头设置为 'http://bogus.referer.ibm.com'
我在第一次运行 appscan 时标记了这个,并输入代码来检查是否提供了 urlreferer,如果提供了,请确保它与 url 中的主机相同,否则终止用户的会话并重定向到登录页。我们再次运行 appscan,它再次被标记,我不确定如何处理。
当我查看报告时,它显示它放入了伪造的引荐来源网址,服务器以 302 状态响应,重定向,然后请求登录,服务器以 202 响应,给出它。 Appscan 推理说:
相同的请求在不同的会话中发送了两次,并收到了相同的响应。 这表明没有一个参数是动态的(会话标识符仅在 cookie),因此应用程序容易受到此问题的影响。
但反应不总是一样的吗?如果检查失败后出现 302 和 202,则无论用户如何,都会出现重定向和登录页面。有谁知道如何处理这个?我猜我可以将用户的会话 id 放入重定向 url,这样 appscan 会看到是否不同,但我认为必须有另一种方法。
这是一个 .net 4 应用程序。使用 Session 对象跟踪用户,如果这很重要,则不使用表单身份验证。
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
-
这不是编程问题。
-
@JohnSaunders 下次会记住这一点。
-
@spender appscan 是一个 ibm 工具,它可以扫描应用程序并查找安全问题,例如 sql 注入或 csrf 攻击,并在扫描过程中对其进行标记,这样您就可以在投入生产之前处理它们。