首页 > 其他分享 >XSS-跨站脚本攻击

XSS-跨站脚本攻击

时间:2024-08-16 18:23:23浏览次数:13  
标签:脚本 XSS 跨站 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攻击,为网站提供额外的安全层。

  • 写在最后

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

  •           

标签:脚本,XSS,跨站,xss,攻击,用户,恶意,攻击者
From: https://blog.csdn.net/qq_64177395/article/details/141260861

相关文章

  • Windows操作系统远程桌面端口修改脚本
    change_rdsport_CN.bat:@echooffcolorf0echo修改远程桌面3389端口(支持Windows2003,2008,2008R2,2012,2012R2,7,8,10)echo自动添加防火墙规则set/pc=请输入新的端口:if"%c%"==""gotoend:editnetshadvfirewallfirewalladdrulename="RemotePortNum......
  • Linux shell脚本实战案例
    文章目录1.基础案例:显示系统信息2.文件备份案例3.自动安装软件案例4.批量重命名文件案例5.监控磁盘空间案例6.定时任务案例:定期清理日志文件7.错误处理和日志记录案例:安全地运行命令8.备份数据库案例:定期备份MySQL数据库9.系统监控案例:CPU和内存使用率10.用户......
  • 北京某大厂Linux系统管理和Shell脚本笔试题
    1.写一个sed命令,修改/tmp/input.txt文件的内容,要求:(1)删除所有空行;(2)在非空行前面加一个"AAA",在行尾加一个"BBB",即将内容为11111的一行改为:AAA11111BBB#创建一个测试文件[root@node1~]#echo-e"Hello\nWorld\nThisisatest\n\nAnotherline\n\nLastline">/tmp/in......
  • 前后端不分离"老"项目,XSS 漏洞处理实践
    前言本月迭代需求没有几个,领导给我派了一个漏洞修复的活。这个项目是一个前后端不分离的ToB老项目,前端使用Velocity模板+JQuery+miniui,后端是用的Spring。嗯,前后端不分离,技术老旧,模块众多且耦合,基础设施不完善,让我从一开始校招(2022)刚进来接触到这个项目时候,就感到“畏惧、难受......
  • shell编程:集群多主机一键启停服务脚本
    本文任务一、Kafka服务批量启动函数封装二、Kafka服务批量停止函数封装三、Kafka服务状态批量检测函数封装四、Kafka服务一键启停脚本主函数体实现五、进一步抽象脚本,改进为通用的一键启停其他服务的脚本核心知识点知识点1:一键启停多主机集群服务实现知识点2:服务状态检......
  • Linux_开机_关机_重启_的时候执行脚本
    Linux_开机_关机_重启_的时候执行脚本转载注明来源:本文链接来自osnosn的博客,写于2024-08.参考Linux关机时执行指定脚本如何在Systemd下配置并运行关机前的脚本在Linux启动或重启时执行命令与脚本Centos7关机和重启前执行自定义脚本如何在重启或启动时执行命令或脚......
  • HexView 刷写文件脚本处理工具-命令行介绍(一)-数据对齐(/Adxx或/AD:yy)
    数据对齐(/Adxx或/AD:yy)每个块的起始地址将被对齐到给定参数xx的倍数。如果省略分隔符‘:’或‘=’,则参数xx被解释为十六进制值。如果使用了分隔符,则值xx以C风格进行解释,例如/AD:0xFF与/AD:255或/AD:11111111b相同。这个值只能是无符号字符值。示例说明......
  • HexView 刷写文件脚本处理工具-命令行介绍(二)-对齐长度(/AL[:length])
    对齐长度(/AL[:length])这个选项与/AD参数结合使用非常有用。它也将所有块的长度对齐,使其成为/Adxx选项中给定参数的倍数。示例说明:/AD4/AL如果有一个地址范围从0xE432到0xE47E的块,它将被对齐到0xE430到0xE47F。所有的字符将被填充为0xFF,或者被/Afxx指......
  • Amazing-Py-Scripts:用Python代码脚本实现一键自动化,告别重复性工作,提升工作效率
    你是否厌倦了枯燥的重复性工作?是否渴望用代码创造出有趣的工具来提升效率?那么,Amazing-Python-Scripts将会成为你的秘密武器!这个GitHub仓库汇集了大量实用且有趣的Python脚本,涵盖从基础到高级,从自动化任务到娱乐应用,旨在帮助你轻松实现自动化、提高工作效率、并用代码点缀......
  • 【Python快速入门和实践011】Python常用脚本-目标检测之VOC格式转YOLO格式脚本
    一、数据集介绍        NEU-DET数据集是由东北大学(NortheasternUniversity,简称NEU)发布的一个用于钢材表面缺陷检测的数据集。这个数据集特别设计用于支持和促进工业领域中的缺陷检测研究。NEU-DET数据集的一些主要特点包括:多样性和复杂性:数据集包含了多种类型......