[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(九)XXE 相关面试题

news/2024/4/15 7:23:01

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

渗透方向的岗位,涉及到的知识点是很广泛的。
这里我总结了整个一系列的面试题,可能没有覆盖到全部的知识面,但是应该是比较全面的,本文主讲解web漏洞XXE漏洞方向的面试题。
如果整个系列的问题搞懂了大部分,那找个网安方向的工作基本上没什么问题了。
当然了,可能也不是说这些问题都会被问到,但这些题目都是和网安岗位相契合的。

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(一)SQL注入相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(二)XSS注入相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(三)CSRF相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(四)SSRF相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(五)文件上传相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(六)文件包含相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(七)逻辑漏洞相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(八)暴力破解相关面试题

文章目录

  • 🍬 博主介绍
  • 1、什么是XXE漏洞?
  • 2、什么是XML?
  • 3、XML的文档格式是怎么样的?
    • 1.第一部分:声明
    • 2.第二部分:DTD(文档类型定义)
    • 3.第三部分:文档的元素
  • 4、能详细讲解一下DTD部分吗?
    • 1.DTD介绍
    • 2.DTD格式
    • 3.外部实体里面的函数
  • 5、XXE有什么危害?
  • 6、XXE漏洞形成原因
  • 7、XXE如何利用?
  • 8、XXE的防御措施有哪些?
  • 9、XXE挖掘思路
  • 10、excel存在xxe漏洞吗?
  • 11、你有用过什么XXE的检测工具吗?
  • 12、oxml_xxe有用过吗?知道他的工作原理吗?
    • 1.oxml_xxe是嵌入XXE Payload的一款工具
    • 2.oxml_xxe的工作原理分为两种
  • 13、oxml_xxe可以向哪些文件中嵌入XXE Payload吗?
  • 14、XInclude攻击是什么?

1、什么是XXE漏洞?

1、XXE漏洞是XML外部实体注入(XML External Entity)的简称。
当应用是通过用户上传的XML文件或POST请求进行数据的传输,并且应用没有禁止XML引用外部实体,也没有过滤用户提交的XML数据,某些应用程序允许XML格式的数据输入和解析,可以通过引入外部实体的方式进行攻击,那么就会产生XML外部实体注入漏洞,即XXE漏洞。

2、什么是XML?

1、XML是一种类似于HTML(超文本标记语言)的可扩展标记语言。
是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
2、比如说我们经常看到一些.XML的配置文件就是用XML的这种格式来写的。
4、还可以用来传输数据,我们可以直接以XML的格式放到请求当中发给服务器(就像用post请求去发送一个数据一样)。
5、他可以向json 一样去传一组数据发送到我们服务端,服务端收到之后可以对数据进行解析读取,然后后处理等等。

3、XML的文档格式是怎么样的?

XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。

1.第一部分:声明

主要会定义一些版本,编码之类的东西。

2.第二部分:DTD(文档类型定义)

也就是他的文档类型定义,形成漏洞部分。
可以定义很多的实体内容,实体内容会对后面整个XML的文档去做一个对应的约束。

3.第三部分:文档的元素

也就是他的正文,在这个里面会通过一下标签去定义一些key和value属性跟值,这样的一些东西。

4、能详细讲解一下DTD部分吗?

1.DTD介绍

1、DTD(文档类型定义):为XML文档定义语法约束(XML里面的标签都是用户可以自定义的)。
2、我们可以通过在DTD里面去编写一个文档约束(规范)来约束XML文档里面标签的规范(就是的按照DTD里面的格式来写)。

2.DTD格式

第一个是内部声明
<!DOCTVYPE 根元素 [元素声明]>
第二个是外部实体(我们这次漏洞用的)
<!DOCTVYPE 根元素名称 SYSTEM "外部DTD的URI"
第三个是public类型的
<!DOCTVYPE 根元素名称 PUBLIC "DTD标识名" "公用DTD的URI">

3.外部实体里面的函数

除了支持file以外,还支持,http,ftp等协议。

5、XXE有什么危害?

1、检索文件,其中定义了包含文件内容的外部实体,并在应用程序的响应中返回。
2、执行SSRF攻击,其中外部实体是基于后端系统的URL定义的。

<!ENTITY xxe SYSTEM "http://127.0.0.1:8080" >探测端口;
<!ENTITY xxe SYSTEM "expect://id" >执行命令;

3、无回显读取本地敏感文件(Blind OOB XXE),敏感数据从应用服务器传输到攻击者的服务器上。
4、通过Blind XXE错误消息检索数据是否存在,攻击者可以触发包含敏感数据的解析错误消息。

6、XXE漏洞形成原因

1.支持接收XML数据
2.且没有对xml数据提供任何安全措施
3.后端开启了外部实体解析,且没有对传进来的数据做任何的过滤

7、XXE如何利用?

简单来说就是XML中可以通过调用实体来请求本地或者远程内容
1.构造一个XML文档
2.然后在这个文档里面,通过外部实体,去通过这些协议,去指定读取一些文件
(后台在收到这个数据之后就会对这个外部实体里面的内容去进行执行,然后导致一些意外的数据泄露)

8、XXE的防御措施有哪些?

1.通过黑名单过滤用户提交的XML数据
2.配置XML处理器使用禁用DTD、禁止外部实体解析

9、XXE挖掘思路

关注可能解析xml格式数据的功能处,较容易发现的是请求包参数包含XML格式数据,不容易发现的是文件上传及数据解析功能处,通过改请求方式、请求头Content-Type等方式进行挖掘,思路一般分三步:
1、检测XML是否会被成功解析以及是否支持DTD引用外部实体,有回显或者报错;
2、需注意没有回显则可以使用Blind XXE漏洞来构建一条带外信道提取数据;
3、最后可以尝试XInclude,某些应用程序接收客户端提交的数据,将其嵌入到服务器端的 XML文档中,然后解析文档,尝试payload:

<fooxmlns:xi=“http://www.w3.org/2001/XInclude”>
<xi:include parse =“text”href =“file:/// etc / passwd”/> </ foo>

10、excel存在xxe漏洞吗?

1、存在
2、Microsoft Office从2007版本引入了新的开放的XML文件格式,新的XML文件格式基于压缩的ZIP文件格式规范,由许多部分组成。
3、我们可以将其解压缩到特定的文件夹中来查看其包含的文件夹和文件,可以发现其中多数是描述工作簿数据、元数据、文档信息的XML文件。所以不正确的读取2007版本Microsoft office格式文件也存在着XXE攻击的可能性。

11、你有用过什么XXE的检测工具吗?

1、XXEinjector是一个使用Ruby编写的自动化xxe漏洞检测工具
2、可以通过给定一个http请求的包,然后设置好好参数就会自动化的进行fuzz,他会通过内置的规则进行自动化的测试,并且还支持二次注入(通过另一个请求触发漏洞)。

12、oxml_xxe有用过吗?知道他的工作原理吗?

1.oxml_xxe是嵌入XXE Payload的一款工具

oxml_xxe是向一些文件中文件中嵌入XXE Payload的工具

2.oxml_xxe的工作原理分为两种

1、一是直接建立一个文件,该模式会自动添加DOCTYPE并将XML实体插入到用户选择的文件中。
2、二是替换文件中的字符串,此模式会遍历查找文档中的符号§。并用XML实体(“&xxe;”)替换此符号的所有实例。注意,你可以在任何地方打开文档并插入§来替换它。常见的用例是web应用程序,它读取xlsx,然后将结果打印到屏幕上。利用XXE我们便可以将内容打印到屏幕上。

13、oxml_xxe可以向哪些文件中嵌入XXE Payload吗?

DOCX/XLSX/PPTX
ODT/ODG/ODP/ODS
SVG
XML
PDF (experimental)
JPG (experimental)
GIF (experimental)

14、XInclude攻击是什么?

1、xinclude可以理解为xml include是xml标记语言中包含其他文件的方式。
2、类似于php的include,python和java的import。可以使代码更整洁,我们可以将定义的功能函数放在function.php中,再在需要使用功能函数的文件中使用include包含function.php,这样就避免了重复冗余的函数定义,同样可以增加代码的可读性。
3、一些应用程序接收客户端提交的数据,会将其嵌入到服务器端XML文档中,然后解析文档。当客户端提交的数据被放置到后端SOAP(简单对象访问协议)请求中,然后由后端SOAP服务处理时,就会出现这种情况。
4、在这种情况下,我们不能执行典型的XXE攻击,因为无法控制整个XML文档,因此不能定义或修改DOCTYPE元素。
5、我们可以使用XInclude代替。XInclude是XML规范的一部分,它允许从子文档构建XML文档。我们可以在XML文档中的任何数据值中放置XInclude攻击,因此可以在只控制放在服务器端XML文档中的单个数据项的情况下执行攻击。
6、要执行XInclude攻击,需要引用XInclude名称空间并提供希望包含的文件的路径。


http://www.ppmy.cn/news/4980.html

相关文章

高级网络应用复习——三层热备生成树速端口OSPF实验(带命令)

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.知识点总结 路由器热备份技术HSRP &#xff08;思科私有 HS…

从云到「链」,京东云成为中国第四朵云背后

在产业加速到数实融合加速的今年&#xff0c;云计算不再是云厂商的唯一考校指标。 作者|叶子 出品|产业家 京东云再次破圈。 信号来自接连发布的几份报告。在国际权威研究机构Forrester发布的名为《The Forrester Wave&#xff1a;Public Cloud Development And Infrast…

如何多台OAK设备同时RTSP推流?

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 ▌前言 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手…

1557:祖孙询问——倍增求LCA

【题目描述】 已知一棵 n 个节点的有根树。有 m 个询问&#xff0c;每个询问给出了一对节点的编号 x 和 y&#xff0c;询问 x 与 y 的祖孙关系。 【输入】 输入第一行包括一个整数 n 表示节点个数&#xff1b; 接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之间有连边。如果…

代码随想录训练营第十二天

专题&#xff1a;栈和队列 题目&#xff1a;滑动窗口最大值 给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 题目解析&#xff1a;…

Python如何调整数组的形状

文章目录更改维度调整坐标轴牛刀小试Numpy函数调整形状调整形状reshape, resize, flatten, ravel, squeeze调整坐标轴transpose, swapaxes 更改维度 数组中的数据在内存里是固定的&#xff0c;但计算时的排列方式却可以随时更改&#xff0c;这也是数组的强大之处。其中&#x…

华为配置动态路由ISIS协议

华为配置动态路由ISIS协议一、路由基础知识二、路由器配置接口IP地址&#xff08;一&#xff09;配置R1、R2、R3网络&#xff08;二&#xff09;配置R1、R2、R3环回网络接口&#xff08;三&#xff09;测试直连网络三、启动进程号&#xff0c;配置实体名称&#xff08;一&#…

设计模式之单例模式

设计模式之单例模式一、单例模式是什么&#xff1f;使用场景二、实现懒汉式饿汉式双检锁/双重校验锁总结一、单例模式是什么&#xff1f; 这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类&#xff0c;该类负责创建…

蓝桥杯有必要参赛吗?

昨天和群里的小伙伴在群里聊&#xff0c;有的小伙伴竟然说蓝桥杯一等奖没有含量&#xff0c;我也是醉了&#xff01; 就像去年看了一个号主写的&#xff1a;研究生遍地都是! 放眼全国14亿人口&#xff0c;别说研究生了&#xff0c;本科生占比有多少? “蓝桥杯是我人生中得到…

Fully Convolutional Adaptation Networks for Semantic Segmentation

参考 论文解析之《Fully Convolutional Adaptation Networks for Semantic Segmentation》 - 云社区 - 腾讯云 论文网址&#xff1a;Fully Convolutional Adaptation Networks for Semantic Segmentation 摘要 深度神经网络的最新进展令人信服地证明了在大数据集上学习视觉模…

44_外部SRAM实验

目录 IS62WV51216简介 IS62WV51216框图 IS62WV51216读时序 IS62WV51216写时序 FSMC简介 FSMC寄存器介绍 硬件连接图 实验源码 IS62WV51216简介 IS62WV51216ISSi (Integrated Silicon Solution,Inc)公司生产的一颗16位宽512K (512*16,即1M字节)容量的CMOS静态内存(SRAM…

Shell编程

目录 一、实验目的 二、实验软硬件要求 三、实验预习 四、实验内容&#xff08;实验步骤、测试数据等&#xff09; 1、编写shell程序&#xff0c;实现用户自定义输入十个整数&#xff0c;计算从第3个到第7个整数的和 2、编写shell程序&#xff0c;实现创建一个以学号命名的新…

【lssvm回归预测】基于灰狼算法优化最小支持向量机GWO-LSSVM数据预测模型含Matlab源码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

MR案例(2):学生排序(单字段排序、多字段排序)

文章目录一、任务目标1. 准备数据二、实行任务1. 创建Maven项目2. 添加相关依赖3. 创建日志属性文件4. 创建学生实体类5. 创建学生映射器类6. 创建学生归并器类7. 创建学生驱动类8. 启动学生驱动器类&#xff0c;查看结果一、任务目标 MR案例&#xff1a;学生排序&#xff08;…

物联网开发笔记(64)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:控件显示

一、目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程&#xff1a;控件显示。 二、环境 ESP32 ILI9341 3.2寸TFT-LCD触摸屏 Thonny IDE 几根杜邦线 接线方法&#xff1a;见前面文章。 三、滑杆代码 import lvgl as lv i…

【Mitigating Voltage Attacks in Multi-Tenant FPGAs 论文笔记】

减轻多租户FPGA中的电压攻击摘要引言内容背景和相关工作INTEL STRATIX 10 FPGA上的PDN攻击Stratix 10 PDN特性定位电压下降片上监控和攻击抑制结论和未来工作结论&#xff1a;未来工作作者&#xff1a;GEORGE PROVELENGIOS, University of Massachusetts Amherst, MA, USADANIE…

华为OD机试真题 Python 实现【预订酒店】【2022.11 Q4 新题】

目录 题目 思路 考点 Code 题目 放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的 数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店 (n>=k>0) ,并由低到高打印酒店的价格输入描述 第一行: n,k,x 第二行: A[o] A[1] A[2].…

Java项目:基于jsp+mysql+Spring+mybatis的SSM在线网络图书商城

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台&#xff0c;有管理员与用户两种角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,商品分类管理,商品管理,商…

Linux c编程之IO复用机制

一、说明 在实际网络程序中,比如服务器程序,需要使用IO复用机制来处理多个客户端的连接和数据收发。Linux系统下常用的IO复用机制有三种:select、poll、epoll。   poll是Linux中的字符设备驱动中的一个函数。Linux 2.5.44版本后,poll被epoll取代。   select用于监视文件…

海量数据小内存!从未出现过的数在哪里

文章目录题目要求1&#xff09;内存 1G2&#xff09;内存 3 KB3&#xff09;内存 有限变量举例题目 现在有 40 亿个无符号整数&#xff0c;无符号整数的范围是 0 ~ 232-1&#xff08;42亿&#xff09;&#xff0c;哪怕 40 亿个数完全不同&#xff0c;在该范围中也总有没有出现…
最新文章