2016-09-16 125 views
0

跟进问题How to exploit HTTP header XSS vulnerability?如何利用HTTP“主机”头XSS漏洞?

比方说,一个页面只是打印HTTP'主机'头的值,不会转义。因此该页面容易受到XSS攻击,即攻击者可以通过包含类似alert('xss')的'Host'头部制作GET请求。

但是你怎么能用这个来攻击目标呢?攻击者如何利用该特定头文件针对特定请求提出目标问题?

+0

请参阅我对原始问题的回答。这涉及到攻击者利用它的实际方式。反映的部分并不真正适用,但存储xss,缓存中毒或浏览器插件。 –

+2

[如何利用HTTP头XSS漏洞?](http://stackoverflow.com/questions/39521743/how-to-exploit-http-header-xss-vulnerability) – Cheesebaron

回答

0

http主机头基本上用作字符串来确定服务器配置中哪些(可能很多)基于命名的主机应该用来提供请求。

比方说,你伪造了一个HTTP请求,并得到了这个头送过来:

Host: <script>alert('foo');</script>.example.com 

ONLY方式这有可能会通过对您想要攻击,如果网站管理员配置的服务器的PHP脚本和网站的定义,以允许明确的主机名,或有通配符命名,例如

<VirtualHost ... 
    ServerName www.example.com 
    ServerAlias *.example.com 
</VirtualHost> 

由于通配符允许.example.com任何事情之前,你的JS-主机名是否打通。

但是配置这样的虚拟主机:

<Virtualhost ...> 
    Servername www.example.com 
    ServerAlias web.example.com 
</Virtualhost 

不会是脆弱的,因为你所提供的主机名不被任何配置的主机名匹配。这个请求可能由其他一些全能的虚拟主机处理,但由于您的易受攻击的脚本在该站点上不存在,所以对您无用。