XSS攻击原理以及手段
XSS攻击方式:反射型,存储型
存储型:两者差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用提交XSS代码
反射型:发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,所以称为发射型XSS。
XSS攻击的防范措施
编码
对用户输入的数据进行HTML Entity编码
过滤
移除用户上传的DOM属性,入onerror等
移除用户上传的Style节点,Script节点,Iframe节点等
矫正
避免直接对HTMl Entity解码
使用DOM Parse转换,校正不配对的DOM标签