首页 > 其他分享 >跨站脚本攻击之基本介绍

跨站脚本攻击之基本介绍

时间:2024-12-26 23:27:16浏览次数:9  
标签:脚本 XSS 跨站 攻击 用户 恶意 网站 攻击者

一.基本概念

跨站脚本(Cross-site scripting,简称XSS),是指攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中Web页面的HTML代码会被执行,从而达到恶意攻击用户的目的。

为什么称为xss,依照英文缩写习惯,简称跨站脚本为CSS。这样会引起它和另一个名词“层叠样式表”(Cascading Style Sheets,CSS)的混淆。此CSS非彼CSS。为了以示区别,一些安全人士就习惯将跨站脚本简称为XSS。

二.漏洞危害

XSS跨站脚本攻击本身对Web服务器没有直接危害,它借助网站进行传播,使网站的大量用户受到攻击。攻击者一般通过留言、电子邮件或其他途径向受害者发送一个精心构造的恶意URL,当受害者在Web浏览器中打开该URL的时侯,恶意脚本会在受害者的计算机上悄悄执行。

  • 主要危害:

    1. 钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼 JavaScript 以监控目标网站的表单输入,甚至发起基于 DHTML 更高级的钓鱼攻击方式。
    2. 网页挂马:跨站时利用IFrame嵌入隐藏的恶意网站或者将被攻击者重定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
    3. 身份盗用:Cookie 是用户对于特定网站的身份验证标志,XSS 可以盗取到用户的 Cookie,从而利
      用该 Cookie 盗取用户对该网站的操作权限。如果一个网站管理员用户 Cookie 被窃取,将会对网站引
      发巨大的危害。
    4. 盗取网站用户信息:当能够窃取到用户 Cookie 从而获取到用户身份使,攻击者可以获取到用户对
      网站的操作权限,从而查看用户隐私信息。
    5. 垃圾信息发送:比如在 SNS 社区中,利用 XSS 漏洞借用被攻击者的身份发送大量的垃圾信息给特
      定的目标群。
    6. 劫持用户 Web 行为:一些高级的 XSS 攻击甚至可以劫持用户的 Web 行为,监视用户的浏览历
      史,发送与接收的数据等等。
    7. XSS 蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施 DDoS 攻击
      等。

三.XSS的类型

跨站脚本攻击可以分为三类,反射型、存储型以及DOM型。

1.反射型
  • 介绍:反射型XSS也叫做非持久型XSS。攻击者将恶意脚本附加到 url 的参数中,发送给受害者,服务端未经严格过滤处理而输出在用户浏览器中,导致浏览器执行代码数据。

  • 举例:

    一个链接,里面的query字段中包含一个script标签,这个标签的src就是恶意代码,用户点击了这个链接后会先向服务器发送请求,服务器返回时也携带了这个XSS代码,然后浏览器将查询的结果写入html,这时恶意代码就被执行了。

  • 流程:

    1. 攻击者把带有恶意脚本代码参数的 URL 地址发送给用户
    2. 用户点击此链接
    3. 服务器端获取请求参数并且直接使用,服务器反射回结果页面
2.存储型
  • 介绍:存储型XSS也叫做持久型XSS。存储型XSS会被保存到数据库,在其他用户访问到这条数据时,这个代码会在访问用户的浏览器端执行。

  • 举例:

    比如攻击者在一篇文章的评论中写入了script标签,这个评论被保存数据库,当其他用户看到这篇文章
    时就会执行这个脚本。

  • 流程:

    1. 攻击者将恶意脚本代码上传或存储到漏洞服务器
    2. 服务器把恶意脚本保存到服务器
    3. 当正常客户访问服务器时,服务器会读取恶意数据并且直接使用
    4. 服务器会返回含有恶意脚本的页面
3.DOM型
  • 介绍:DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情。

四.常见的测试代码

<input onfocus=write('xss') autofocus>
<img src one rror=alert('xss')>
<svg onl oad=alert('xss') >
<script>alert('xss')</script>
<a href="javascript:alert('xss')">clickme</a>
</td><script>alert(123456)</script>
'><script>alert(123456)</script>
"><script>alert(123456)</script>
</title><script>alert(123456)</script>
<scrip<script>t>alert(123456)</scrip</script>t>
</div><script>alert(123456)</script>

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

相关文章

  • Mono里运行C#脚本4—mono_file_map_open
    前面介绍了mono_jit_init初始化,这个函数非常长,要理解起来还是比较困难。因此改变另外一种方式,先从底层的函数开始,再慢慢来探索mono的底层实现,以及它的实现原理,运行的细节。Mono要运行exe文件,这里是运行test-embed.exe文件,那么就得认识这个文件,解释这个文件的内容,因此就需要把......
  • Python 项目组织最佳实践:从脚本到大型项目的进化之路
    在Python开发生涯中,相信很多人都是从写简单脚本开始的。随着项目规模扩大,我们会遇到各种项目组织的问题。今天,让我们从一个实际场景出发,看看如何一步步优化Python项目结构,实现从简单脚本到专业项目的进化。从一个数据处理需求说起假设我们需要处理一些日志文件,提取其中的错......
  • 如何处理云服务器遭遇DDoS攻击的问题?
    云服务器遭遇DDoS攻击时,可以采取以下措施:确认攻击情况:检查服务器监控数据,确认是否确实遭受了DDoS攻击。通常,阿里云会提供详细的流量监控信息。启用高防服务:购买并启用高防服务可以有效抵御DDoS攻击。您可以访问[网址]了解和购买高防服务。高防服务能够帮助您过滤恶意......
  • 「转」Windows端口转发管理脚本(支持ipv4+ipv6)
    将下面代码保存成.bat文件,[b]使用管理员运行。@echoofftitleWindowsIPv4/IPv6端口转发管理工具color0A:menuclsecho========================================echoWindowsIPv4/IPv6端口转发管理工具echo========================================echo1.查......
  • python脚本定期删除EFK日志索引
    使用pyhon脚本删除50天前的日志!/usr/bin/python3fromelasticsearchimportElasticsearchfromdatetimeimportdatetime,timedeltaElasticsearch服务器地址,默认本地为'localhost',可按需替换es_host="localhost"Elasticsearch服务器端口,默认9200,按需替换es_port=92......
  • [免费]SpringBoot公益众筹爱心捐赠系统【论文+源码+SQL脚本】
    大家好,我是java1234_小锋老师,看到一个不错的SpringBoot公益众筹爱心捐赠系统,分享下哈。项目介绍公益捐助平台的发展背景可以追溯到几十年前,当时人们已经开始通过各种渠道进行公益捐助。随着互联网的普及,本文旨在探讨公益事业的发展趋势与挑战,特别是以社区发展为中心的公益......
  • Python-流量分析常用工具脚本(Tshark,pyshark,scapy)
    免责声明:本文仅作分享~目录wiresharkscapy例:分析DNS流量检查数据包是否包含特定协议层(过滤)获取域名例:提取HTTP请求中的Host信息pyshark例:解析HTTP请求和响应例:分析DNS查询和响应tsahrk.exe在读此文章前,请确保您会使用wireshark并具备一些流量协议的......
  • python图片脚本4-批量图片加水印(详细注释+GUI界面+exe可执行文件)
    目录前言导航pillow库的使用篇tkiner库的使用篇图片脚本篇源码批量处理图片尺寸脚本源码效果GUI界面源码效果打包成.exe可执行文件共勉博客前言本文介绍一个用python第三方库pillow写的批量处理图片加水印的脚本,以及脚本对应的使用tkinter库写的GUI界面并把它打......
  • jenkins集成自定义shell脚本
    在jenkins工作空间中动态生成shell脚本      shell语法cat>h5build.sh<<EOFcurrent=\`date"+%Y-%m-%d%H:%M:%S"\`timeStamp=\`date-d"\$current"+%s\`currentTimeStamp=\$((timeStamp*1000+\`date"+%N"\`/10000......
  • CSRF跨站请求伪造攻击详解
    一、CSRF攻击概述1.1CSRF攻击定义用户浏览器加载恶意网站时,浏览器中的恶意网站页面向另一目标网站自主发起一个恶意HTTP请求,该攻击方式即为CSRF攻击。1.2CSRF攻击的本质在CSRF攻击中,攻击者诱使用户的浏览器发起一个恶意请求,本质上是借助用户的凭证,以用户的身份去执行特......