2016-09-16 65 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 

不會是脆弱的,因爲你所提供的主機名不被任何配置的主機名匹配。這個請求可能由其他一些全能的虛擬主機處理,但由於您的易受攻擊的腳本在該站點上不存在,所以對您無用。