Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95949
  • 博文数量: 68
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 676
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-21 15:49
文章分类

全部博文(68)

文章存档

2020年(3)

2019年(65)

我的朋友

分类: 网络与安全

2019-12-23 16:08:16

大家上午好,大家经常听到XSS攻击这个词,那么XSS攻击到底是什么,以及如何防御大家清楚么?今天,小墨就给大家讲一下:XSS攻击的定义、类型以及防御方法。

 

什么是XSS攻击?

 

XSS攻击全称跨站脚本攻击,是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。


 

XSS攻击有哪几种类型?

 

常见的 XSS 攻击有三种:反射型XSS攻击、DOM-based XXS攻击以及存储型XSS攻击。

 

1.反射型XSS攻击

 

反射型 XSS 一般是攻击者通过特定手法(如电子邮件),诱使用户去访问一个包含恶意代码的 URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。反射型XSS通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端 Cookies 或进行钓鱼欺骗。

 

2.存储型XSS攻击

 

也叫持久型XSS,主要将XSS代码提交存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。当目标用户访问该页面获取数据时,XSS代码会从服务器解析之后加载出来,返回到浏览器做正常的HTMLJS解析执行,XSS攻击就发生了。存储型 XSS 一般出现在网站留言、评论、博客日志等交互处,恶意脚本存储到客户端或者服务端的数据库中。

 

3.DOM-based XSS攻击

 

基于 DOM XSS 攻击是指通过恶意脚本修改页面的 DOM 结构,是纯粹发生在客户端的攻击。DOM XSS 攻击中,取出和执行恶意代码由浏览器端完成,属于前端 JavaScript 自身的安全漏洞。


 

如何防御XSS攻击?

 

1.     对输入内容的特定字符进行编码,例如表示 html标记的 < > 等符号。

 

2.     对重要的 cookie设置 httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服务端设置。

 

3.     将不可信的值输出 URL参数之前,进行 URLEncode操作,而对于从 URL参数中获取值一定要进行格式检测(比如你需要的时URL,就判读是否满足URL格式)。

 

4.     不要使用 Eval来解析并运行不确定的数据或代码,对于 JSON解析请使用 JSON.parse() 方法。

 

5.     后端接口也应该要做到关键字符过滤的问题。

 


以上,是小墨给大家分享的关于XSS攻击的全部内容,大家记得收藏方便以后查看哦。如今,各种类型网络攻击日益频繁,除了XSS攻击之外,比较常见的网络攻击类型还包括DDoS攻击、CC攻击等,它们非常难以防御,除了需要做好日常网络安全防护之外,还需要接入高防服务,可以接入墨者盾高防,通过墨者盾高防隐藏源IP,对攻击流量进行清洗,保障企业网络及业务的正常运行。

阅读(948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~