web安全-XSS

了解XSS的定义

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

 

理解XSS的攻击方式

1、反射型:

发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫作反射型XSS。

 

2、存储型:

存储型XSS和发射型XSS的差别在于提交的代码会存储在服务器端(数据库,内存或文件系统等),下次请求目标页面时不用再提交XSS代码。

 

掌握XSS的防御措施

1、编码:

对用户输入的数据进行HTML entity编码。

2、过滤:

移除用户上传的DOM属性,如onerror等;移除用户上传的style节点、script节点、iframe节点等。

3、校正:

避免直接对HTML entity解码;使用DOM Parse转换,校正不配对的DOM标签。

 

posted @ 2017-11-12 17:13  Z皓  阅读(212)  评论(0编辑  收藏  举报