对于学校作业,我们必须建立一个易受基于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)
Chrome可能会阻止您执行XSS攻击,因为它有内置过滤器。大多数现代浏览器都启用了默认的XSS保护。为了测试这个,我会使用Firebox,并禁用XSS过滤器。为此,请转到about:config
并将browser.urlbar.filter.javascript
值设置为false。
我还必须更改HTML测试用例。我需要对default
参数进行URI解码,以便脚本运行。
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>