<分区>
我们目前正在研究 OWASP 安全修复程序,并且我们确定了一种攻击场景,我们正试图找出一种可能的解决方案:
- 用户向我们的应用程序发送了一个有效的 HTTPRequest。用户浏览器中的 URL 设置为我们的应用程序 url,例如http(s)://www.abc.com/request
- 应用程序通过 Apache 处理请求并发送响应。
- 当响应在途中时,攻击者会拦截响应并将整个响应的内容替换为一些恶意站点或消息,例如“你被黑了!!”
- 响应在用户的浏览器中呈现,URL 仍指向浏览器中的 http(s)://www.abc.com/request,但内容是恶意的。这让用户相信它仍在我们的应用程序中。
我们可以通过我们的代理工具复制这个场景。有什么方法可以识别和防止通过 Apache 或自定义 HTTP header 在浏览器中呈现此类响应?
我们将不胜感激任何帮助/指点。
在第一个答案后添加:
再考虑一种情况:
- 用户向我们的应用程序发送了一个有效的 HTTPRequest。
- 攻击者拦截请求并将其转发到某个恶意站点而不是我们的应用程序。在这里,用户浏览器中的 URL 也设置为应用程序 URL,例如http(s)://www.abc.com/request 但内容将是恶意网站。
这也可以通过 HTTPS 实现。
在场景 (2) 中,虽然我们的网站是 HTTPS,但恶意网站是纯 HTTP。因此,在路由请求时,浏览器上不会出现证书警告。