04. XSS漏洞原理

04. XSS漏洞原理

XSS漏洞原理(上)

弹窗是怎么实现的?

案例

04. XSS漏洞原理_第1张图片

04. XSS漏洞原理_第2张图片

攻击利用

04. XSS漏洞原理_第3张图片

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

  • 网络钓鱼

  • 植马挖矿

  • 刷流量

  • 劫持后台

  • 篡改页面

  • 内网扫描

  • 制造蠕虫

04. XSS漏洞原理_第4张图片

常出现的场景
  • 重灾区:评论区、留言区、个人信息、订单信息
  • 针对型:站内信、网页即时通讯、私信、意见反馈
  • 存在风险:搜索框、当前目录、图片属性
XSS的分类
  • 反射型XSS
  • 存储型XSS
  • DOM型XSS(属于特殊的反射型XSS)

反射型XSS

反射型XSS
  • 反射型XSS 是非持久性、参数型的跨站脚本,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。
  • 出现场景:多出现在搜索框或者输入框。

04. XSS漏洞原理_第5张图片

反射型XSS——利用流程

04. XSS漏洞原理_第6张图片

XSS漏洞原理(下)

反射型XSS(续)

反射型XSS——案例

04. XSS漏洞原理_第7张图片

04. XSS漏洞原理_第8张图片

存储型XSS

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

04. XSS漏洞原理_第9张图片

存储型XSS——代码分析

04. XSS漏洞原理_第10张图片

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

04. XSS漏洞原理_第11张图片

DOM型XSS

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

04. XSS漏洞原理_第12张图片

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

04. XSS漏洞原理_第13张图片

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

04. XSS漏洞原理_第14张图片

DOM型XSS——利用

04. XSS漏洞原理_第15张图片

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

防御方式

防御方式
  • 对用户的输入进行合理验证

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

你可能感兴趣的:(xss,安全,web安全)