您当前的位置:首页 > 电脑百科 > 安全防护 > 网络安全

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

时间:2020-01-08 09:58:43  来源:  作者:

1、xxe攻击漏洞的简介

何为XXE漏洞?XXE是指xml外部实体攻击,Xxe漏洞全称xml external entity injection即xml外部实体注入漏洞,xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。那么问题来了,xml又是什么???

xml是一个可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输

喜欢更多知识内容可以关注微信公众号:安界网

2、xml基础

1)、 xml介绍以及用途

xml被设计用来传输和存储数据,它和html最大的区别在html是用来格式和显示数据,而xml是用来传输和存储数据,对比html它是一种层次和嵌套结构,而xml文档形成了一种树结构,它从(文档)"根部"开始(出发),一直扩展到"枝叶"。Xml允许创作者定义自己的标签和自己的文档结构,也就是说咱们可以自己去自定义树的结构以及树上面节点的名称,也就是对应的这个元素。

这个一个简单的一个xml,首先第一行它给出了xml的版本是1.0,和xml的编码是utf-8。

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

接下来就是xml的根节点以及下属节点,<to>就是一个节点,里面包含了对应的值,就相当于树状结构当中是这样一个结构

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

以下是xml的树状结构图,在根部是note,note下有no节点、from节点、heading节点、body节点

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

2)xml语法规则

(1)、 所有的xml元素(树的节点)都必须有一个关闭标签,否则会出现错误无法解析xml文件

(2)、 Xml标签对大小写敏感,在html当中大小写是不敏感的

(3)、 Xml必须正确嵌套,不能说咱们一这里写个<p1>这样一个标签,在另外一方写个<p2>标签,然后用<p1>闭合该标签,最后又写个<p2>,那这个时候,它就是个错误的格式,咱们必须嵌套,而不能一个标签嵌套了另外一个标签

(4)、 Xml属性值必须加引号,比如说有个p标签,标签里面有个a属性,属性里面有对应的值,那么这个sa值就是需要加引号括起来,如果没有就会报错,然后用</p>标签闭合,<p a='' sa''></p>

(5)、 实体引用 比如说<p a=''sa''></p>的这些属性中以及对应的值中会出现大于和小于等一些符号,这些符号在xml当中是有聚体含义的,咱们必须使用xml对应的实体进行对应的表示,比如说小于号对应的就是lt后对应的符号,大于号就是gt后对应的符号。

(6)、 在xml中,空格会被保留 比如说<p a='' sa''></p>中的p标签和p的结束标签,在中间如果有A(空格)B,那这个时候A和B之间的空格就会被保存。

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

3)、 xml元素介绍

xml元素是指从(且包括)开始标签直到(且包括)结束标签的部分,每个元素又可以有对应的属性,xml属性必须加引号 ,首先的话note是一个根元素,下面是子元素,子元素里面就是一些嵌套的关系。那么这些元素的名称都可以改变。比如说note修改为m1的一些操作.

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

4)、 Xml DTD介绍

刚才说了关于xml的语法规则以及对应的元素,这样一个灵活存储数据的文件格式,那我们势必要有一些约束规则来使得它符合这个规则,咱们用户定义的这个规则,才能把标明咱们这个数据是正确的,那这个时候我们就用xml DTD进行校验,

拥有正确的语法的xml被称为"形势良好"的xml。通过DTD验证的xml是"合法"的xml

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 


大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

5)DTD快速入门

(1)、DTD声明介绍

内部的DCOTYPE声明:<!DOCTYPE root-element [element-declaeations]>

<根元素 [元素声明]>,首先是note根元素,用了方括号括起来了

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

这里是对应的子元素

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

用子元素的描述用的是element,首先描述的是根元素note,然后对应是子元素(用括号括起来的的就是子元素),可以看见to是一个子元素。括号内的就是对应的类型,所以我们称之为内部DTD

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

外部文档声明:假如DTD位于xml源文件的外部,那么它应通过下面的语法被封装在一个DOCTYPED定义中:<!DOCTYPE root-element SYSTEM "filename">

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

这个是个xml的文件

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

首先用了DOCTYPE note根元素,然后用SYSTEM用引用note.dtd

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

而note.dtd是外部的dtd文件,这个dtd文件以下内容是描述对应的元素,结构首先是根元素note,然后对应的是子元素,接下来都是子元素对应的类型以及名称。都是用ELEMENT进行声明

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

(2)、DTD数据类型

PCDATAd的意思是被解析的字符数据(parsed character data) PCDATA是会被解析器解析的文本。这些文件将被解析器检查实体以及标记,可以看见这个图。PCDATA是会被解析器作为合法的内容进行解析。

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

CDATA的意思是字符数据(character data)

CDATA是不会解析器解析的文本,在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开,那么只作为一个普通的文本做处理

Pcdata是xml的解析器,可用于识别

Cdata无法进行识别的

(3)、DTD实体介绍

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

3、Xml注入产生原理

1)Xxe漏洞全称xml external entity injection即xml外部实体注入漏洞,xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。

Xxe/xml漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传的恶意xml文件。

2)、 测试代码介绍

首先要的是file_get_contents()来获取对应的数据流,获取的数据流是一个php://input这样一个可读的数据流,可以通过post的提交方式来将这个流输入对应的内容,通过file_get_contents()读取然后保存到$xml, 然后调用simplexml_load_string()加载$xml存储的字符串,保存到$data,然后用echo进行格式化输出。

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

3)Xxe漏洞利用-任意文件读取

首先这里是我们的一个靶机,我们用burp进行登录抓包

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

可以看见我们的数据包是这样的,其中就有一些xml的一些格式,我们将数据包发送到repeater模块

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

这个是我们的读取本地文件的payload,利用file伪协议去读取c盘下的win.ini文件内容

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

那么我用这个payload读取了d盘下的1.txt文件,并且返回了文本中的内容

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 


大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

4)读取php文件

直接利用file协议读取php文件会出现错误,那么需要使用base64编码来进行读取

那我直接读取了本地的xxe.php内容,并且以base64编码的形式输出,那么我们就可以拿这个编码进行base64解码

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

解码出来的就是我们的xxe漏洞的代码

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

另外也有不同语言支持不同的协议。

大黑客必知必会的xxe攻击漏洞,带你了解黑客的世界

 

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。

识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们。



Tags:xxe攻击   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1、xxe攻击漏洞的简介何为XXE漏洞?XXE是指xml外部实体攻击,Xxe漏洞全称xml external entity injection即xml外部实体注入漏洞,xxe漏洞发生在应用程序解析xml输入时,没有禁止外部...【详细内容】
2020-01-08  Tags: xxe攻击  点击:(71)  评论:(0)  加入收藏
▌简易百科推荐
(报告出品方:德勤)数字化转型网络安全及转型挑战在任何行业,保持竞争力都需要快速开发新产品和 服务并推向市场。创新型业务模式不仅仅是简单地将现有 流程数字化,其正在覆盖供应...【详细内容】
2021-12-22  认是    Tags:网络安全   点击:(29)  评论:(0)  加入收藏
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案。这份草案用来解决浏览器如何解决XSS攻击问题。 网络安全中...【详细内容】
2021-12-07  实战Java  博客园  Tags:脚本攻击   点击:(20)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-12-01  Kali与编程    Tags:防火墙   点击:(30)  评论:(0)  加入收藏
网络安全服务商Randori公司日前发布了一份调查报告,列出了网络攻击者最有可能攻击或利用的IT资产。在遭遇Solarwinds黑客攻击一周年之际,以及在网络安全(尤其是勒索软件和供应...【详细内容】
2021-10-28  企业网D1net   企鹅号  Tags:网络攻击   点击:(57)  评论:(0)  加入收藏
0x01.背景实验利用Dns Administrators 组成员,通过远程配置Dns服务,进行Dll inject从而实现特权提升。 在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用c:\wi...【详细内容】
2021-10-22  IT影子    Tags:特权提升   点击:(37)  评论:(0)  加入收藏
本文主要介绍和总结了CSRF跨站请求伪造的基本原理和主要防范措施,工作中有用到的朋友不妨收藏转发一下,以备您参考。什么是CSRF?CSRF跨站点请求伪造(Cross&mdash;Site Request...【详细内容】
2021-10-13  快乐中恒    Tags:CSRF   点击:(49)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  KaliMa    Tags:防火墙   点击:(56)  评论:(0)  加入收藏
应用程序与文件系统的交互始终是高度安全敏感的,因为较小的功能漏洞很容易成为可利用漏洞的来源。这种观察在web文件管理器的情况下尤其正确,其作用是复制完整文件系统的功能...【详细内容】
2021-09-17  IT野涵    Tags:漏洞链   点击:(56)  评论:(0)  加入收藏
您的苹果手机尽管iPhone比Android更安全,但也可以通过各种方式入侵。避免黑客入侵的最佳方法是警惕奇怪的链接或粗略的应用程序,并仅在必要时提供信息。电池寿命差和性能低下...【详细内容】
2021-09-16  Hackers爱好者    Tags:黑客入侵   点击:(633)  评论:(0)  加入收藏
防火墙一般布置在逻辑区域的入口处,位于三层网络架构的核心和汇聚之间,起到隔离逻辑区域,为逻辑区域创建安全策略的作用。 上面就是应用区的防火墙布置方式,他布置在应用区,可以...【详细内容】
2021-09-03  知来知去    Tags:主备模式防火墙   点击:(109)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条