XSS-跨站脚本攻击

目录

一、xss漏洞的定义

1.1 xss的介绍

1.2 XSS类型

1.3XSS分类详解

1.4 xss攻击原理

二、xss的危害

三、xss的攻击流程

1.反射型xss

2.存储型xss

四、xss的防御手段


一、xss漏洞的定义

1.1 xss的介绍

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets )的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往web页面里插入恶意script代码,当用户浏览该页时,嵌入其中web里面的script代码会被执行,从而达到恶意攻击用户的目的

1.2 XSS类型

反射型:

反射型也称为非持久型,这种类型的脚本是最常见的,也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中。

存储型:

攻击者将已经构造完成的恶意页面发送给用户,用户访问看似正常的页面后收到攻击,这类XSS通常无法直接在URL中看到恶意代码,具有较强的持久性和隐蔽性。

DOM

DOM型XSS无需和后端交互,而是基于JavaScript上,JS解析URL中恶意参数导致执行JS代码

1.3XSS分类详解

(1)存储型XSS

存储型XSS:持久性,代码是存储在web服务器中的,比如在个人信息或发表文章等地方插入代码,如果没有过滤或者过滤不严,那么这些代码将存储在服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫、盗窃cookie。每一个访问特定页面的用户,都会受到攻击。

特点:

XSS攻击代码存储于web server上;攻击者一般是通过网站的留言、评论、博客、日志等功能(所有能够向web server输入内容的地方),将攻击代码存储到web server上的 

(2)反射型XSS

反射型跨站脚本也称作非持久型、参数型跨站脚本、这类型的脚本是最常见的 ,也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中


  http://www.test.com/search.php?key="><script>alert("xss")</script>


一般使用的将构造好的URL发给受害者,是受害者点击触发,而且只执行一次,非持久化。

1.4 xss攻击原理

XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript 编写的恶意代码,也有使用其他客户端脚本语言编写的。当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。

Javascript 可以用来获取用户的 Cookie、改变网页内容、URL 跳转,攻击者可以在 script 标签中输入 Javascript 代码,如 alert(/xss/),实现一些“特殊效果”。

二、xss的危害

  1. 用户信息泄露:攻击者可以通过在网站注入恶意脚本,窃取用户的cookie、会话信息或其他敏感数据,从而冒充用户进行未授权操作。

  2. 账户劫持:利用窃取的会话信息,攻击者可以获得用户的账户权限,进行不法操作,比如转账、修改个人信息、发送电子邮件等。

  3. 恶意软件传播:攻击者可以通过XSS漏洞向用户的浏览器注入恶意软件、蠕虫病毒、木马,感染用户的计算机或移动设备。

  4. 钓鱼攻击:通过伪装网页或输入框,诱骗用户输入敏感信息(如密码、信用卡信息),从而进行欺诈。

  5. 网站信誉受损:一旦用户发现某网站存在XSS漏洞,可能会对该网站的安全性产生质疑,从而影响网站的信誉和流量。

  6. 数据篡改:攻击者可以借助XSS修改网页的内容,展示虚假的信息,误导用户。

  7. 服务拒绝:在某些情况下,恶意脚本可以引发大量请求,导致服务器过载,从而造成服务中断。

  8. 社会工程学攻击:借助XSS漏洞,攻击者可以实现更加复杂的社会工程学攻击方案,进一步操控用户。

  9. 提升权限:在某些情况下,攻击者可以通过XSS漏洞提升自己在网站中的权限,进而对网站进行更深入的渗透和攻击。

  10. 恶意操作:攻击者可以在用户浏览器中执行恶意脚本,进行恶意操作,如强制弹出广告页面、刷流量、篡改页面信息、删除文章等。这些操作不仅会影响用户体验,还可能对网站的正常运营造成严重影响。

  11. 结合其他漏洞:XSS漏洞还可以与其他漏洞(如CSRF漏洞)结合使用,实施更复杂的攻击,进一步加大危害程度。

因此,防止XSS漏洞的出现及其利用是确保网站安全的重要环节。应该通过输入验证、输出编码、使用安全框架等方式来降低XSS攻击的风险。

三、xss的攻击流程

1.反射型xss

特点:

1、即时性。不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿到用户隐私数据;

2、攻击者需要诱骗点击;

3、反馈率低,所以较难发现和响应修复;

4、盗取用户敏感保密信息。

2.存储型xss

特点:

1、持久性,植入在数据库中;

2、危害面广,甚至可以让用户机器变成 DDoS 攻击的肉鸡;

3、 盗取用户敏感私密信息。

四、xss的防御手段

防御XSS(跨站脚本攻击)的手段主要包括以下几种:

  1. 输入验证与过滤:
  • 对用户输入的数据进行严格的验证和过滤,确保不包含恶意脚本。
  • 使用白名单策略,允许的输入格式或字符集应当提前设定。

    2.输出编码:

  • 对输出到网页上的所有数据进行编码,特别是用户输入的数据。常见的编码包括HTML编码、JavaScript编码、URL编码等。
  • 这样可以确保用户的输入被当作数据处理,而不是作为代码执行。

3.使用HTTPOnly和Secure标志:

  • 将cookie设置为HTTPOnly,限制JavaScript访问cookie,从而保护用户会话。
  • 使用Secure标志,确保cookie只通过HTTPS传输,防止在不安全的连接下被窃取。

  • 4.使用Web应用防火墙(WAF):
  •        WAF部署:WAF可以自动识别和阻止XSS攻击,为网站提供额外的安全层。

  • 写在最后

    在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

  •           

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值