当前位置: 首页 > article >正文

Web渗透测试之XSS跨站脚本攻击分类 详解

目录

XSS分类

反射类型

漏洞等级

反射性执行过程

DOM类型 

什么是dom:

HTML-DOM树

攻击方法

DOM类型分类

触发dom的操作

DOM-XSS-x类型

存储型类型

影响程度

存储性执行过程


XSS分类

反射类型

  • 找什么位置---但凡是有数据交互的【评论 注册 登陆-{输入输出}】。

    • 没有存储下来 一次性的。

    • 只要不保存到数据的xss 我们都称之为反射类型

 <script> alert(123);</script>

漏洞等级

  • 中低危漏洞 影响时间比较小
    • 反射性刷新页面 效果就是没有【没有永久存储在数据库】
    • 判断是不是有XSS注入 如果js的alert来判断

<a href=>xx</a>

  • 这里生成了一个正常的标签了 其实也是正常的含有xss注入漏洞的 a标签有特殊效果就会变颜色了

  • 输出的形式以标签的形式展示的 大概率存在css漏洞

反射性执行过程

  • 1 如果是没保存 输出了 确实有xss 那么其他用户是一个新的页面,其他用户看到还是没有攻击的页面,这个时候需要让别人受到攻击咋办,这个时候是没办法插入数据到服务器的。

  • 2 伪造一个html页面 写好攻击页面,发送给被攻击者客户端,发给他或者下载,让他触发你的攻击代码,让他输入用户名密码,自动就发送用户cookie发送黑客的网站。 针对的是放射性的xss。


DOM类型 

中低危漏洞 不发送到服务器端

什么是dom:

  • HTML的标签是节点,而这些节点组成了DOM整体结构-节点树。
    • 通过HTM-DOM树种所有节点均可以通过JS进行访问
    • 所有HTML元素【节点均可以被修改】 也可以创建或删除节点

HTML-DOM树

  • 在网站页面种有很多元素,当页面达到浏览器的时候,浏览器会为页面创建一个顶级的Document object 文档对象
    • 接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性,方法和事件。
    • 可以通过通过DOM动态修改DOM动态修改页面内容
    • 从客户端获取dom种的数据并且在本地执行
    • 由于dom是在客户端修改节点的
    • 所以基于dom类型的xss漏洞不需要和服务器交互
    • 他只发生在客户端处理数据的阶段

攻击方法

  • 用户请求一个专门设计过的URL

    • 它由攻击者提交,而且其中包含CSS代码

    • 服务器的响应不会以任何形式包含攻击者的脚本

    • 当用户的浏览器处理这个响应时,DOM对象就会处理CSS代码,导致XSS漏洞。

  • 客户端向服务端发送一个请求,服务端返回的数据

    • 客户端会解析成树形结构

    • 会找到html标签【元素 节点】我们说的元素 也是标签 标签元素 ,标签的属性,属性也是元素 属性元素。

  • 浏览器将数据关联起来 方便后续加工,JS CSS 效果控件

    • Js代码又去找某个标签

    • DOM操作:

      • 通过js代码操作DOM文档对象模型时候触发的漏洞一般不和服务端交互,一般属于中低危漏洞。

DOM类型分类

  • Dom也可能存在存储型的操作

  • Dom一般就是反射性的交互

触发dom的操作

  • 可能出发Dom xss操作 也就是js中用了这些方法的时候
  • document.referer

  • window.name e

  • location

  • innerHTML

  • document.write

  • 面不刷新也能发网络请求,网络请求拿到数据,通过JS塞入到Dom操作的标签中

    • 通过浏览器输入网站 from表单都可以发送网络请求

    • 也有有展示效果就不用深究是不是存在网络请求

DOM-XSS-x类型

  • Dom标签和反射性-后端交互联合使用

  • 红队做攻击

    • 这个是反射性和服务端进行交互了 客户端发生了变化了


存储型类型

  • 存储到数据库中:这个弹窗是不会消失的因为是存储在数据库中了 XSS 钓鱼攻击

影响程度

中高危漏洞 影响时间比较长

存储性执行过程

  • POST请求发现xss漏洞 伪造一个登录页面HTML 写好攻击代码漏洞

  • 向服务端提供攻击代码 保存了 存储性 一个性写入 就存储了

  • 其他客户端就能看到 那么客户端就被攻击了

  • 其余的注入方式都和放射性一致


http://www.kler.cn/a/471282.html

相关文章:

  • 毕业项目推荐:基于yolov8/yolov5/yolo11的动物检测识别系统(python+卷积神经网络)
  • 【python】matplotlib(radar chart)
  • 获取IP地区
  • Backend - C# EF Core 执行迁移 Migrate
  • [桌面运维]windows自动设置浅深色主题
  • 玉米识别数据集,4880张图,正确识别率可达98.6%,支持yolo,coco json,pasical voc xml格式的标注,可识别玉米
  • Effective C++读书笔记——item11(自赋值)
  • Python中判断语句及循环语句练习
  • 对于安装完服务后,无法执行命令的问题处理
  • 行为树详解(6)——黑板模式
  • halcon三维点云数据处理(五)创建代表工具和机器人底座的3D模型
  • Qt仿音乐播放器:客户端唯一化
  • 使用 httputils + chronicle-bytes 实现金融级 java rpc
  • 【免费】2004-2019年各省规模以上工业企业RD经费面板数据
  • RabbitMQ-死信队列
  • android系统的一键编译与非一键编译 拆包 刷机方法
  • 【数据可视化】数据可视化看板需求梳理模板(含示例)
  • Linux 系统清理命令大全
  • 深度学习中的正则化方法
  • React 深入学习理解
  • Redis Zset有序集合
  • python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像
  • Unity中 Xlua使用整理(一)
  • nginx 配置 本地启动
  • 移动应用安全基础:深入理解Hooking框架
  • cuda实现flash_attn_mma_share_kv源码分析