04. XSS漏洞原理

04. XSS漏洞原理

XSS漏洞原理(上)

弹窗是怎么实现的?
案例

在这里插入图片描述

在这里插入图片描述

攻击利用

在这里插入图片描述

什么是XSS?
  • XSS(Cross Site Scripting):跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS。
  • XSS原理:攻击者在网页中嵌入客户端脚本(通常是JavaScript的恶意脚本),当用户使用浏览器加载被嵌入恶意代码的网页时,恶意脚本代码就会在用户的浏览器中执行,造成跨站脚本攻击。
XSS的危害
  • 盗取cookie

  • 网络钓鱼

  • 植马挖矿

  • 刷流量

  • 劫持后台

  • 篡改页面

  • 内网扫描

  • 制造蠕虫

在这里插入图片描述

常出现的场景
  • 重灾区:评论区、留言区、个人信息、订单信息
  • 针对型:站内信、网页即时通讯、私信、意见反馈
  • 存在风险:搜索框、当前目录、图片属性
XSS的分类
  • 反射型XSS
  • 存储型XSS
  • DOM型XSS(属于特殊的反射型XSS)
反射型XSS
反射型XSS
  • 反射型XSS 是非持久性、参数型的跨站脚本,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。
  • 出现场景:多出现在搜索框或者输入框。

在这里插入图片描述

反射型XSS——利用流程

在这里插入图片描述

XSS漏洞原理(下)

反射型XSS(续)
反射型XSS——案例

在这里插入图片描述

在这里插入图片描述

存储型XSS
存储型XSS
  • 恶意代码被保存在目标网站的服务器中,这种攻击具有较强的稳定性和持久性
  • 比较常见的场景是,黑客写下一篇含有恶意Javascript代码的博客文章,文章发表后,所有访问该博客的用户,都会在他们的浏览器中执行这段恶意js代码

在这里插入图片描述

存储型XSS——代码分析

在这里插入图片描述

存储型XSS——利用分析
存储型XSS案例

在这里插入图片描述

DOM型XSS
DOM型XSS——什么是DOM?
  • DOM,全称Document Object Model(文档对象模型),是W3C推荐的一种独立于平台和语言的标准,定义了访问HTML和XML文档的标准
  • Dom即windows对象下内置的document对象

在这里插入图片描述

DOM型XSS
  • DOM-XSS简单去理解就是输出点在DOM,属于特殊的反射性XSS

在这里插入图片描述

常用的DOM方法
方法描述
getElementById()返回带有指定ID的元素
getElementsByTagName()返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)
getElementsByClassName()返回包含带有指定类名的所有元素的节点列表
appendChild()把新的子节点添加到指定节点
removeChild()删除子节点
replaceChild()替换子节点
insertBefore()在指定的子节点前面插入新的子节点
createAttribute()创建属性节点
createElement()创建元素节点
createTextNode()创建文本节点
getAttribute()返回指定的属性值
setAttribute()把指定属性设置或修改为指定的值
DOM型XSS——代码分析

在这里插入图片描述

DOM型XSS——利用

在这里插入图片描述

三种类型的比较
XSS类型存储型反射型DOM型
触发过程1、黑客构造XSS脚本 2、正常用户访问携带XSS脚本的页面正常用户访问携带XSS脚本的URL正常用户访问携带XSS脚本的URL
数据存储服务器URLURL
谁来输出后端Web应用程序后端Web应用程序前端Javascript
输出位置HTTP响应中HTTP响应中动态构造的DOM节点中
是否持久
防御方式
防御方式
  • 对用户的输入进行合理验证

    对特殊字符(如<、>、’、”等)以及

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XSS(Cross-site scripting)跨站脚本攻击,是一种常见的Web攻击方式,攻击者通过在网页中注入恶意脚本代码,使得用户在浏览网页时执行这些脚本代码,达到攻击的目的。 XSS攻击的原理是,攻击者在网页中注入恶意脚本代码,当用户访问这个网页时,恶意脚本代码会被执行,从而达到攻击的目的。攻击者可以通过XSS攻击来窃取用户的敏感信息、绕过网站的访问控制、劫持用户会话、篡改网页内容等。 XSS漏洞的挖掘方法一般包括以下几个步骤: 1. 扫描目标网站:使用一些扫描工具,如Burp Suite、OWASP ZAP等,对目标网站进行扫描,找出可能存在的XSS漏洞。 2. 注入恶意脚本代码:在目标网站的输入框中注入恶意脚本代码,如<script>alert("XSS漏洞");</script>,并提交表单。 3. 检查注入的恶意脚本代码是否生效:在提交表单后,在网页中查看是否弹出了XSS漏洞的测试弹窗。如果弹出了,说明注入的恶意脚本代码生效了,存在XSS漏洞。 4. 利用XSS漏洞:如果发现了XSS漏洞,攻击者可以利用这个漏洞来进行攻击,如窃取用户的敏感信息、绕过网站的访问控制、劫持用户会话、篡改网页内容等。 为了防止XSS漏洞的产生,网站开发人员可以采取以下措施: 1. 对用户输入的数据进行过滤和转义,将特殊字符进行转义,如<、>、&等。 2. 在Cookie中设置HttpOnly属性,禁止JavaScript访问Cookie,防止攻击者通过XSS攻击窃取用户的Cookie信息。 3. 在HTTP响应头中设置X-XSS-Protection属性,开启浏览器的XSS保护功能。 4. 对网站进行安全审计,定期检查网站是否存在XSS漏洞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值