XSS跨站脚本攻击及防护

这篇具有很好参考价值的文章主要介绍了XSS跨站脚本攻击及防护。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、初识XSS跨站脚本

1.1 XSS攻击概述

1.2 XSS漏洞攻击本质

1.3 XSS攻击的危害

1.4 XSS玫击原理

1.5 XSS攻击过程

1.6 XSS攻击特点(3)

1.6.1 间接攻击

1.6.2 可更正性

1.6.3 传播性强

二、XSS攻击与防护

2.1 XSS攻击分类

2.1.1 存储型XSS

2.1.2 反射型XSS

2.1.3 DOM型XSS

2.2 XSS攻击过程

2.2.1 存储型XSS攻击过程

2.2.2 反射型XSS攻击过程

2.2.3 反射型XSS跟存储型XSS的区别

2.2.4 DOM型XSS的攻击步骤

2.2.5 DOM型XSS跟前两种XSS的区别

2.2.6 三者区别

2.3 XSS攻击实战

2.3.1 盗取Cookie:诱骗点击

2.3.2 利用存储型XSS攻击,跨站的到一个木马网站

2.3.3 XSS入侵方式

2.4 XSS攻击防范

2.4.1 攻击者提交恶意代码

2.4.2 浏览器执行恶意代码


一、初识XSS跨站脚本

1.1 XSS攻击概述

XSS又叫CSSCross Site Scripting),即跨站脚本攻击,是最常见的 Web 应用程序安全漏洞之一。在绝大多数网络攻击中都是把XSS作为漏洞链中的第一环,通过XSS,黑客可以得到的最直接利益就是拿到用户浏览器的 cookie,从而变相盗取用户的账号密码,进而非授权的获取关键的隐私信息

XSS攻击是一种客户端访问嵌入有恶意脚本代码的Web页面,从而盗取信息、利用身份等的一种攻击行为。XSS属于客户端攻击受害者最终是用户。XSS的传播性极强,由于 web 的特点是轻量级灵活性高,每个用户每天都可能访问很多 web 站点,每个 web 站点每天都有成千上万的来访。如果将XSS攻击配合一些系统内核级的漏洞,完全可能在几个小时之内击垮几百万台智能设备。

1.2 XSS漏洞攻击本质

  • 恶意代码未经过滤,与网站正常的代码混在一起
  • 浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行

1.3 XSS攻击的危害

  • 盗取信息,包括用户账号,口令及有价值的敏感信息
  • 控制企业数据,包括读取、基改、添加、删除企业敏感数据的能力
  • 强制进行非法转账
  • 强制发送电子邮件
  • 网站挂马
  • 控制受害者机器向其它网站发起攻击

1.4 XSS玫击原理

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

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

1.5 XSS攻击过程

XSS跨站脚本攻击及防护

1.6 XSS攻击特点(3)

1.6.1 间接攻击

XSS攻击的最终目标是针对终端用户,即客户端,(包括获取账号密码,种马等),但是攻击代码是注入到目标网站

1.6.2 可更正性

XSS攻击产生的根本原因是Web网站对用户的输入过滤不足,是一种可更正性错误。

1.6.3 传播性强

攻击代码是注入到目标网站,每个用户每天都可能访问很多 web 站点,每个 web 站点每天都有成千上万的访客。

二、XSS攻击与防护

2.1 XSS攻击分类

2.1.1 存储型XSS

持久性:攻击者通过发表带有恶意跨域脚本的帖子或文章,从而把恶意脚本存储在服务器中,每个访问该帖子或文章的人都会触发该恶意脚本执行,这种XSS非常危险,容易造成蠕虫大量盗窃cookie

2.1.2 反射型XSS

非持久性:攻击者事先制作好攻击链接,将攻击脚本嵌入到某个 URL 链接中,诱骗用户自己去点击链接,从而触发攻击代码执行,完成该次玫击。

2.1.3 DOM型XSS

DOM:Document Object Model,即文档对象模型,它是标识和处理一个HTML或XML文档的常用方法,是以面向对象方式描述的文档模型

DOM型XSS:基于DOM文档对象模型的操作,通过前端脚本修改页面的DOM节点形成的xss,该操作不与服务器端进行交互,且代码是可见的,从前端获取到DOM中的数据在本地执行。只在客户端进行解析不需要服务器的解析响应,是前端JavaScript自身安全漏洞

2.2 XSS攻击过程

2.2.1 存储型XSS攻击过程

XSS跨站脚本攻击及防护

2.2.2 反射型XSS攻击过程

XSS跨站脚本攻击及防护

2.2.3 反射型XSS跟存储型XSS的区别

  • 存储型XSS的恶意代码存在数据库里,反射型XSS的恶意代码存在URL里。
  • 反射型XSS漏洞常见于通过URL传递参数的功能,如网站搜索、跳转等。由于需要用户主动打开恶意的URL才能生效,攻击者往往会结合多种手段诱导用户点击。

2.2.4 DOM型XSS的攻击步骤

 XSS跨站脚本攻击及防护

2.2.5 DOM型XSS跟前两种XSS的区别

DOM型XSS攻击中,取出和执行恶意代码由浏览器端完成,属于前端JavaScript自身的安全漏洞,而其他两种XSS都属于服务端的安全漏洞

2.2.6 三者区别

存储区 插入点
存储型 服务器数据库 HTML
及射型 URL HTML
DOM型 前端存储 JavaScript

2.3 XSS攻击实战

2.3.1 盗取Cookie:诱骗点击

  • 攻击者利用反射型XSS漏洞获取受害者Cookie,从而可以实现无密码登陆
  • Cookie:由服务器端生成,发送给User—Agent(一般是浏览器),浏览器一般会将 Cookie 的 key/value 保存到某个目录下的文本文件内,下次请求同一网站时就发送该 Cookie 给服务器(前提是浏览器设置为启用cookie)。
  • Cookie 名称和值可以由服务器端开发自已定义,对于JSP而言也可以直接写入 jsessionid,这样服务器可以知道该用户是否为合法用户以及是否需要重新登录等。
  • 攻击者一般是需要一个可以公网访问的服务器,用于接收获取的Cookie。也就是需要将获取的指定Cookie信息传递给站点以外的服务器,这个过程其实就是跨站。

2.3.2 利用存储型XSS攻击,跨站的到一个木马网站

可跨站标签

  • <lmg>标签 src 属性
  • <Script>标签 src 属性
  • <Link>标签 href 属性
  • Css 中<img>标签
  • Flash 中<img>标签

2.3.3 XSS入侵方式

① 用于测试是否存在跨站

<script>alert ("test")</script>

② 弹出一个包含浏览者cookie信息的对话框

<script>window. alert (document.cookie);</script>

③ 打开另一个网页窗口

<script>window.open( http://www.target.com/index.asp' , ' newwindow' ,' width=200, height=200');</script>

④ 出现一个高0,宽0的网页框架

<iframe src=http://www.target.com/ index.asp width=0 height=0> </iframe>

⑤ 刷新到另一个页面

<meta http-equiv="refresh" content="1; URL=http://www.t ar get.com/index. asp">

⑥ Scriptlet引入另一个页面

<object type="text/x-scriptlet" data="http://www.target.com/index.asp"></object>

2.4 XSS攻击防范

XSS攻击的两大要素是攻击者提交恶意代码浏览器执行恶意代码,针对这两点进行防范。

2.4.1 攻击者提交恶意代码

防护的重点是针对用户数据,总体思路是:在服务器端对用户提交的内容进行过滤对URL的参数也进行过滤,屏蔽掉可以造成XSS攻击的内容。

输入过滤:

  • Str_replace() 替换函数
  • Preg_replace() 执行正则表达式的搜索和替换
  • Strtolower() 转化为小写字符
  • Trim() 消除空格
  • Stripslashes() 消除反斜杠

2.4.2 浏览器执行恶意代码

对HTML做充分转义:通常只有一个规则,就是把 & < > "  ' / 这几个字符转义掉,确实能起到一定的 XSS防护作用,如 htmlspecialchars() 可将"<”和">”转换为HTML实体文章来源地址https://www.toymoban.com/news/detail-500525.html

到了这里,关于XSS跨站脚本攻击及防护的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • XSS(跨站脚本攻击)详解

    XSS是一种常见的安全漏洞,它允许攻击者在受害者浏览器上执行恶意脚本。攻击者通过在网页中注入恶意代码,使得用户浏览该页面时,恶意代码会被执行。 XSS的类型: 存储型 XSS(Stored XSS) :攻击者将恶意代码存储到目标网站的数据库中,当其他用户浏览相关页面时,恶

    2024年02月16日
    浏览(21)
  • 跨站脚本攻击(XSS)详解

    XSS(Cross Site Script)攻击,通常指黑客通过\\\"HTML注入\\\"篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。 一开始,这种攻击的演示案例是跨域的,所以叫做\\\"跨站脚本\\\"。现在是否跨域已经不再重要,但是名字一直沿用下来。 XSS长期以来被列

    2024年02月06日
    浏览(21)
  • 记录--详解 XSS(跨站脚本攻击)

    前言:我们知道同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三方资源,然后又引入 CSP 策略来加以限制;默认

    2024年02月08日
    浏览(16)
  • 网络安全——XSS跨站脚本攻击

    一、XSS概述 1、XSS被称为跨站脚本攻击,由于和CSS重名,所以改为XSS; 2、XSS主要基于JavaScript语言完成恶意的攻击行为,因为JavaScript可以非常灵活的操作html、CSS和浏览器 3、原理: XSS就是通过利用网页开发时留下的漏洞(由于Web应用程序对用户的输入过滤不足),巧妙的将恶

    2024年02月16日
    浏览(16)
  • 【网络安全】跨站脚本(xss)攻击

    跨站点脚本(也称为 XSS)是一种 Web 安全漏洞,允许攻击者破坏用户与易受攻击的应用程序的交互。它允许攻击者绕过同源策略,该策略旨在将不同的网站彼此隔离。跨站点脚本漏洞通常允许攻击者伪装成受害者用户,执行用户能够执行的任何操作,并访问用户的任何数据。

    2024年02月11日
    浏览(13)
  • 【网络安全】跨站脚本攻击(XSS)

    专栏文章索引:网络安全 有问题可私聊:QQ:3375119339 目录 一、XSS简介 二、XSS漏洞危害 三、XSS漏洞类型 1.反射型XSS 2.存储型XSS 3.DOM型XSS 四、XSS漏洞防御 XSS(Cross-Site Scripting) XSS 被称为跨站脚本攻击,由于和CSS重名,所以改为XSS。 XSS 主要使用 javascript , javascript 可以非常灵

    2024年04月28日
    浏览(18)
  • 如何防止xss跨站脚本攻击(代码说明)

    XSS(跨站脚本)攻击是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本代码,从而实现窃取用户信息、盗取会话令牌等攻击目的。为了防止XSS攻击,我们可以采取以下措施: 输入过滤和验证:在接收用户输入时,进行输入过滤和验证,去除或转义用户输入中的特

    2024年02月05日
    浏览(19)
  • 【web安全】XSS攻击(跨站脚本攻击)如何防范与实现

    目录 XSS介绍 防范要点 实现方法 XSS攻击(跨站脚本攻击)是一种常见的Web安全漏洞,攻击者在Web页面中插入恶意脚本代码,并在受害人访问该页面时执行脚本代码,从而获取用户敏感信息、操作受害人账号或篡改页面内容等不当行为。XSS攻击可以通过输入表单、搜索框、评论

    2024年02月12日
    浏览(15)
  • 浏览器基础原理-安全: 跨站脚本攻击(XSS)

    XSS 跨站脚本 (Cross Site Scripting): 概念: XSS 攻击是指黑客往 HTML 文件中或者 DOM 中注入恶意脚本,从而在用户浏览页面时利用注入的恶意脚本对用户实施攻击的一种手段。 实现方式: 起初,这种攻击通过跨域来实现的,所以叫“跨域脚本”。但是发展到现在,往 HTML 文件中注入恶

    2024年02月11日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包