文章插图
点击添加图片描述(最多60个字)
文章插图
持久型XSS不需要用户去单击URL进行触发,所以他的危害比反射型XSS大,黑客可以利用它渗透网站、挂马、钓鱼……
04
XSS防御方案
XSS 漏洞是由于对用户提交的数据没有经过严格的过滤处理造成的,所以防御的原则就是不相信用户输入的数据,对输入进行过滤,对输出进行编码 。
1.使用XSS Filter
对用户提交的信息进行有效的验证,仅接受指定长度范围内的,采用适当格式的内容提交,阻止或者忽略此外的其他任何数据 。此外,还需过滤有效的和净化有害的输入 。
例如:
? 表单数据指定值的类型:年龄只能是 int 、name 只能是字母数字等 。
? 过滤或移除特殊的 html 标签:<script>、<iframe>等 。
? 过滤 js 事件的标签:onclick、onerror、onfocus等 。
2.使用编码(HTMLEncode)
HTML编码在防止XSS攻击上可以起到很大的作用,它主要是用对应的HTML实体替代字面量字符,这样做可确保浏览器安全处理可能存在的恶意字符,将其当做HTML文档的内容而非结构加以处理 。
一些常见的可能造成问题的字符的HTML编码如表所示:
文章插图
3、JavaScript编码
这条原则主要针对动态生成的JavaScript代码,这包括脚本部分以及HTML标签的事件处理属性(如onerror, onload等) 。在往JavaScript代码里插入数据的时候,只有一种情况是安全的,那就是对不可信数据进行JavaScript编码,并且只把这些数据放到使用引号包围起来的值部分(data value)之中,除了上面的那些转义之外,还要附加上下面的转义:
转成 \
/ 转成 /
; 转成 ;(全角;)
4、Http Only cookie
许多 XSS 攻击的目的就是为了获取用户的cookie,将重要的 cookie 标记为http only,这样的话当浏览器向服务端发起请求时就会带上cookie字段,但是在脚本中却不能访问 cookie,这样就避免了XSS攻击利用JavaScript的document.cookie获取cookie 。
【XSS跨站脚本攻击剖析与防御】
推荐阅读
- 存储型XSS的危害
- 如何编写awk命令和脚本
- 5个Linux服务器一键综合测试性能和配置脚本工具
- 小白都能使用bash脚本编写黑客工具
- 在Linux中通过expect工具实现脚本的自动交互
- 黑客如何钓鱼?黑客带你了解高超的钓鱼平台
- 3分钟快速了解防不胜防的XSS攻击
- 脚本语言,node在前端都有什么作用?
- Linux下如何使用crontab来定时执行脚本任务?
- 如何把 awk 脚本移植到 Python