xss攻击

xss就是在页面执行javascript文件。

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞。恶意web用户将代码植入到提供给其它用户使用的页面中,也就是我们平时打开一个危险网站后,网站会下载一些javascript脚本,存储在计算机上,不间断运行监听获取我们的存储数据,发送回恶意用户,这样我们的信息就被泄露,篡改了。

我们如果存储在localstorage和全局变量使用的信息,很容易被javascript获取到,因此注意在全局变量中不要存储敏感信息,而采用闭包的形式或加密形式。设置website设置 http-only、crossdomian.xml则可防御。

xss有三种攻击类型:

1. 本地漏洞,客户端脚本自身。

  A用户访问危险网站B,B将带有恶意代码javascript的Html网页发送给A,恶意代码获取A用户存储在浏览器的内容。

2. 反射式漏洞,Web客户端使用Server端脚本生成页面为用户提供数据,而参数数据会在生成的页面上不被html编码注入到动态页面中。

  例如:web网站地址为:http://********?param=AAAA,如果对应的页面中会将参数AAAA展示或存储到页面。

  恶意用户在web网址上修改:http://********?param=AAAA;alert('CCC'),这样在对应页面上就会出现弹出框alert,这就是反射漏洞攻击。    

3.存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞。

  web站点允许用户发布信息和浏览发布信息。恶意用户B编写<script></script>恶意代码及一些热点新闻,发布到网站,

  一般用户点击浏览B发布的信息,这时恶意脚本获取用户的存储信息。

1仅危害单个用户, 2,3 会危害到所有用户。

防御机制:

1. 传统防御检验javascript关键字,检查是否有xss攻击。恶意用户可使用java script等在关键字中添加回车换行等形式规避关键字检查。

2. 对请求代码的url进行长度限制,规范化输入内容。这种会使得web应用功能降低。

  

原文地址:https://www.cnblogs.com/DennyZhao/p/8777566.html