什么是 XSS攻击?

一、什么是XSS攻击?

XSS攻击是Cross Site Scripting的缩写,跨站脚本攻击的意思。按说Cross Site Scripting的缩写应该是CSS,但就和页面样式表那个CSS重复了,所以跨站脚本攻击这个改成了XSS。

原理: XSS是一种代码注入攻击。
攻击者向有XSS漏洞的网站中注入恶意的HTML代码,当其他用户浏览该网站时,这段代码会自动执行,从而达到攻击的目的。如:盗取用户cookie、破坏页面的结构,重定向到其他网站等。
总而言之,XSS攻击需要具备两个条件:需要向web页面注入恶意代码;这些恶意代码能够被浏览器成功地执行。

危害:

  1. 窃取cookie,读取目标网站的cookie发送到黑客的服务器上。
  2. 读取用户未公开的资料,如果:邮件列表或者内容、系统的客户资料,联系人列表等等。它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实 施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。

理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。

二、XSS攻击有2种

1、DOM Based XSS漏洞(反射型攻击)

反射型攻击,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到“目标网站的恶意链接”来实施攻击的。

反射型攻击是一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人。

攻击者只能攻击自己当前所在的网页(即自我攻击);或者,通过分享已经攻击者篡改的url 给目标用户,用户通过该url 访问站点时就有可能会被攻击。

2、Stored XSS漏洞(存储型攻击)

存储型攻击,恶意代码被保存到目标网站的服务器中,这种攻击具有较强的稳定性和持久性;由于其攻击代码已经存储到服务器上或者数据库中,所以受害者是很多人。

比较常见的场景是在博客、论坛、OA、CRM等社交网站上,比如: a.com可以发文章,我登录后在a.com中发布了一篇文章,文章中包含了恶意代码,,保存文章。这时Tom和Jack看到了我发布的文章,当在查看我的文章时就都中招了,他们的cookie信息都发送到了我的服务器上,攻击成功!这个过程中,受害者是多个人。

三、如何防御XSS攻击?(有矛就有盾,做一个没有缝的鸡蛋)

永远不相信用户的输入。
需要对用户的输入进行处理,只允许输入合法的值,其他值一概进行 过滤/转义/编码。(用户的输入通常来自:url传参、表单提交)
譬如:过滤用户输入的 检查用户输入的内容中是否有非法内容。如<>(尖括号)、”(引号)、 ‘(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。严格控制输出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值