A
大小写转换;
引号的使用;
使用/代替空格;
编码绕过(将字符进行十进制或者十六进制转码);
5.双写绕过;
6.使用制表符 换行符和回车符
7.使用IMG 源
Q
XSS的危害?
A
窃取cookie
抓取屏幕截图
获取键盘记录
重定向植入广告,恶意链接
网页钓鱼
网页挂马
结合网页挂马或者其他工具(Metasploit)获取服务器或者操作系统权限
Q
XSS的防范措施?
A
对用户的输入进行过滤
比如说添加黑名单或者白名单规则,比如说对&"’/ javascript import等敏感字符进行转义使用 HttpOnly Cookie
如果cookie中设置了HttpOnly属性,那么通过jS脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样可以有效的防止XSS攻击窃取cookie。
设置X-XSS-Protection属性
该属性被所有的主流浏览器默认开启。X-XSS-Protection,即XSS保护属性,是设置在响应头
中目的是用来防范XSS攻击的。在检查到XSS攻击时,停止渲染页面。
开启CSP网页安全策略
CSP是网页安全策略(Content Security Policy)的缩写。开启策略后可以起到以下作用:禁止加载外域代码,防止复杂的攻击逻辑;禁止外域提交,网站被攻击后,用户的数据不会泄露到外域;禁止内联脚本执行(规则较严格,目前发现GitHub使用);禁止未授权的脚本执行(新特性,Google Map移动版在使用)。合理使用上报可以及时发现XSS,利于尽快修复问题。
避免内联事件
尽量不要使用onLoad=“onload(’ffdatal]’)”、onClick=“go(’(faction]’)”这种拼接内联事件的写法。在JavaScript中通过.addEventlistener()事件绑定会更安全。使用模板引擎
开启模板引擎自带的HTML转义功能。例如:在ejs中,尽量使用 而不是;在doT.js中,尽量使用ff!data]而不是=data;在FreeMarker中,确保引擎版本高于2.3.24。