IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> OWASP TOP10(2017)之【XML 外部实体(XXE)】 -> 正文阅读

[PHP知识库]OWASP TOP10(2017)之【XML 外部实体(XXE)】

目录

XML以及XXE漏洞介绍

实战

利用XXE漏洞读取文件(有回显)

①读取.ext文件

②读取php文件

利用XXE漏洞读取文件(无回显)

XXE防御策略

XXE漏洞消亡原因

XXE漏洞防御


XML以及XXE漏洞介绍

XML是指可扩展标记语言,用来传输和存储数据。XML文档结构包括XML声明,DTD文档类型定义(可选),文档元素。XML的焦点是数据的内容,它把数据从HTML分离,是独立于软件和硬件的信息传输工具。HTML旨在显示信息,XML旨在传输和存储信息。

XXE漏洞全称XML External Entity Injection,即XML外部实体注入漏洞。XXE漏洞发生在应用程序解析XML时,没有禁止外部实体的加载,导致客家在恶意外部文件,造成文件读取,命令执行,内网端口扫描,攻击内网网站,发起dos攻击等危害。?

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

DTD内容参考:DTD 简介 (w3school.com.cn)

实战

注)会涉及到一些php代码。靶场的配置什么的见视频吧。。。实战里面只简述XXE的实现方法?

利用XXE漏洞读取文件(有回显)

几种文件路径格式:

  • file://path/to/file.ext(读取本地文件)
  • http://url/file.ext(读取远程文件)
  • php://filter/read=convert.base64-encode/resource=conf.php(php文件需要使用base64编码来读取)

①读取.ext文件

Payload:

如下图所示,直接在请求体写入Payload。返回体里显示已经读取到相应内容。

②读取php文件

Payload:

如下图所示,直接在请求体写入Payload。返回体里显示已经读取到相应内容。

然后再将返回的内容通过base64解密即可得到php文件的内容。

利用XXE漏洞读取文件(无回显)

?本节测试原理:(服务器:192.168.1.105,攻击者server:192.168.1.103)

  1. 攻击者发送一个XML请求到服务器端(参考文件【请求XML】)
  2. 服务器端接收到攻击者的请求,去攻击者自定义的server端获取dtd校验文件(参考文件【test.dtd】)
  3. 攻击者server返回dtd文件到服务器端
  4. 服务器执行对应的XML,在服务器本地获取相应数据,然后将数据信息返回给攻击者server

?请求XML:

攻击者构建的dtd文件(test.dtd):

文件内容解析:

  1. 获取服务器本地的/etc/passwd文件,并将其保存到变量p1中
  2. 通过http请求使用con参数把p1的内容传递到对应的服务器上

注)前提是服务器存在XXE漏洞这些语句才能执行成功

XXE防御策略

XXE漏洞消亡原因

libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。

XXE漏洞防御

①使用开发语言提供的禁用外部实体的方法:

②过滤用户提交的XML数据

关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。

视频教程:2019超详细 渗透测试/黑客入门/漏洞学习视频教程

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 13:54:33  更:2021-07-22 13:56:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 0:48:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码