如果以下是代码片段,您有什么建议?
<script type="text/javascript" src="<%=request.getHeader("Host")%>/XXX/xxx.js"></script>
这是一个明显的 XSS 示例吗?如果是,攻击者可以使用哪些攻击场景?
如果以下是代码片段,您有什么建议?
<script type="text/javascript" src="<%=request.getHeader("Host")%>/XXX/xxx.js"></script>
这是一个明显的 XSS 示例吗?如果是,攻击者可以使用哪些攻击场景?
这是一个 XSS 漏洞,但很难利用:例如以下 URL:
http://anything."><script>xss</script>.example.com/aa/bb
此 URL 将在导航到时在 Host 参数中携带 XSS 有效负载,但是:
<script>变为%3Cscript%3E)。您当然可以在浏览器之外伪造请求。VirtualHost在 Apache 中安装为 a ,则此Host标头将不匹配任何标头VirtualHost,并将由 fallback 或 first 处理VirtualHost。如果这个 XSS 被存储而不被反映,那将会更加危险,因为这样你就可以跳过 (1) DNS 和 (2) 编码要求。您可以通过在浏览器外部发送手动 HTTP 请求来植入有效负载。然后,此有效负载将对易受攻击站点的“标准”基于浏览器的访问者可见。
所以,作为一个结论 - 这是一个 XSS 漏洞,但利用概率很低。不过,应用程序应该通过转义显示的 Host 标头来修复它。