2015-04-20 73 views
1

對於一個學校任務,我們必須製作一個易受基於dom的xss攻擊的網站。我們收到的信息很少,沒有例子。基於Dom的xss示例

我用下面的代碼在我的HTML文件:

Select your language: 

<select><script> 
    document.write("<OPTION value=1>"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"</OPTION>"); 
    document.write("<OPTION value=2>English</OPTION>"); 
</script></select> 

然後我解僱了該網站,並試圖使用附加的網址:

?default=<script>alert(document.cookie)</script> 

這並不做任何事情,然後再與:

#default=<script>alert(document.cookie)</script> 

哪些也不會做任何事情。

我錯過了什麼?

+0

檢查您的控制檯;任何錯誤? –

+0

@EdCottrell only chrome gives error「The XSS Auditor refused to execute an script in'http:// localhost:63342/Secur/index.html?name = Tim#''因爲它的源代碼被找到在請求內部,由於服務器既沒有發送'X-XSS-Protection'也沒有發送'Content-Security-Policy'頭部,因此啓用了審計程序。「其他瀏覽器不會給出任何錯誤 – RandomPerson

回答

0

Chrome可能會阻止XSS攻擊的執行,因爲它具有內置過濾器。大多數現代瀏覽器都啓用了默認的XSS保護。爲了測試這個,我會使用Firebox,並禁用XSS過濾器。爲此,請轉至about:config並將browser.urlbar.filter.javascript值設置爲false。

我也不得不改變你的HTML測試用例。爲了腳本運行,我需要URI解碼default參數。

Select your language: 

<select><script> 
    document.write("<OPTION value=1>"+decodeURIComponent(document.location.href.substring(document.location.href.indexOf("default=")+8))+"</OPTION>"); 
    document.write("<OPTION value=2>English</OPTION>"); 
</script></select>