某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

  • 高级主题(翻译)

  • 扩展阅读(翻译)

  • 个人学习笔记

  • 实验室做题记录

    • 实验室做题记录
    • 服务器端

      • SQL注入

      • 身份验证

      • 目录遍历

      • OS命令注入

      • 业务逻辑漏洞

      • 信息泄露

      • 访问控制

      • 文件上传漏洞

      • SSRF漏洞

      • XXE注入漏洞

        • 学徒-普通XXE-文件检索
        • 学徒-普通XXE-执行SSRF攻击
        • 从业者-盲XXE-带外交互
        • 从业者-盲XXE-XML参数实体
        • 从业者-盲XXE-外部DTD
        • 从业者-盲XXE-错误消息
        • 专家-盲XXE-本地DTD复用
        • 从业者-隐藏攻击面-XInclude攻击
          • 题目
          • 实操
        • 从业者-隐藏攻击面-文件上传中的XXE
    • 客户端

    • 高级主题

  • BurpSuite及官方实验室
  • 实验室做题记录
  • 服务器端
  • XXE注入漏洞
clincat
2023-07-18
目录

从业者-隐藏攻击面-XInclude攻击

# 实验室:利用XInclude检索文件

# 题目

此实验室具有一个 “Check stock(库存检查)” 功能,它会将用户输入的数据嵌入到服务端 XML 文档中,随后对该文档进行解析。

由于你无法控制整个 XML 文档,因此无法定义 DTD 来发起经典的 XXE 攻击。

若要解决实验室问题,请注入XInclude语句并检索/etc/passwd文件的内容。

提示

默认情况下,XInclude会把引入的目标文档解析为 XML。但由于/etc/passwd不是有效的 XML 格式,因此你需要向XInclude指令添加一个额外的属性来更改此行为。

(译者加:如果把/etc/passwd当作 XML 来处理的话会出现 “解析错误” ,所以要添加一个额外的属性,将其当作 “普通文本” 来处理)

实验室-从业者

利用XInclude检索文件 >>

- name: 实验室-从业者
  desc: 利用XInclude检索文件 >>
  avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
  link: https://portswigger.net/web-security/xxe/lab-xinclude-attack
  bgColor: '#001350'
  textColor: '#4cc1ff'
1
2
3
4
5
6

# 实操

点击 “ACCESS THE LAB” 进入实验室。

Not Found Image

来到首页,点击任意商品下方的 “View details” 进入详情页。

Not Found Image

在商品详情页的下方,可以看到一个库存检查功能。

启用浏览器代理,然后点击 “Check stock” 检查库存。

Not Found Image

将请求数据包转发至 Repeater 功能模块。

这次的请求数据包有所不同,其中并没有携带 XML 格式的数据,而是普通的 POST 传参。

Not Found Image

尝试污染两个参数,其中productId参数可以触发错误消息,具有回显。

Not Found Image

根据所学的理论知识,构造 XInclude 攻击载荷,添加到 productId 参数当中。

  • xmlns用于加载 XInclude 功能模块,并将其命名为xi。
  • 然后使用该模块,加载/etc/passwd的文件内容。
  • 注意,由于目标文件是 “非XML格式”,加载时会出现错误,所以要添加一个属性parse="text",将其当作普通文本来处理。
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="file:///etc/passwd" parse="text"/>
</foo>
1
2
3

XInclude 攻击成功触发,程序返回了对应的文件内容。

Not Found Image

回到浏览器页面,实验已完成。

Not Found Image
编辑 (opens new window)
专家-盲XXE-本地DTD复用
从业者-隐藏攻击面-文件上传中的XXE

← 专家-盲XXE-本地DTD复用 从业者-隐藏攻击面-文件上传中的XXE→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式