BUUCTF闯关日记--[RoarCTF 2019]Easy Java1

这题说实话有好多新知识,关于JAVA的之前确实了解不够多,这里是考察web.xml泄露的

进入页面是这个样子

多收集一点信息,把F12按开刷新,看看请求头还有一些其他信息,看看源码,这一关请求头什么的没有什么信息,但是源码里有一个后缀docx的超链接,进去看看(其实就是下面那个help的超链接是同一个)

 点开超链接后的页面

同样不要放过任何一个页面,每个页面的页面源代码还有一些可以收集的信息都看看,不要嫌弃浪费时间, 虽然这关这些操作确实是浪费时间,但是有的ctf题目就是把一些重要信息藏在某一个页面源代码,而且是页面越多的情况,往往越容易被忽略

回到正题,很容易发现有一个help.docx的可疑目标,毫无疑问,下意识直接访问看看能不能得到一些代码,于是等访问完毕便得到回显是

肯定没有这么简单嘛,毕竟题目是easy java,肯定和java有关系滴,于是这里就需要引入一个知识,关于web.xml文件泄露的

WEB-INF/web.xml泄露

 具体原因就是往往一个网站会使用许多的服务器,但是如果出现了对静态资源的目录或文件的映射配置不当的时候,就会导致web.xml等文件能够被读取

那么怎么利用呢?

首先我们已经知道了文件名是help.docx读取文件就是前面配上/WEB-INF构成WEB-INF/web.xml的形式

传入url试一下

 

没有什么信息,那就再尝试一下POST传参(我使用的是burp抓包修改) 

改完POST传参后发现下载了一个文件

 

 打开看看咯

<?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">

    <welcome-file-list>
        <welcome-file>Index</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>IndexController</servlet-name>
        <servlet-class>com.wm.ctf.IndexController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>IndexController</servlet-name>
        <url-pattern>/Index</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>LoginController</servlet-name>
        <servlet-class>com.wm.ctf.LoginController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginController</servlet-name>
        <url-pattern>/Login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>DownloadController</servlet-name>
        <servlet-class>com.wm.ctf.DownloadController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DownloadController</servlet-name>
        <url-pattern>/Download</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>FlagController</servlet-name>
        <servlet-class>com.wm.ctf.FlagController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FlagController</servlet-name>
        <url-pattern>/Flag</url-pattern>
    </servlet-mapping>

</web-app>

 这个就是文件里面的信息,聪明的你一眼就看到了flag

 <servlet-name>FlagController</servlet-name>
 <servlet-class>com.wm.ctf.FlagController</servlet-class>

可以看到这是提醒的信息com.wm.ctf.FlagController这个就是路径,而且在class里面

所以这时候就要用到 /WEB-INF/classes/

 /WEB-INF/classes/:含了站点所有用的 class 文件,
                    包括 servlet class 和非servlet class,
                    他们不能包含在 .jar文件中         

再抓包改一下 

打开之后

 

哇!乱码,一度以为自己错了,看到里面有个信息

ZmxhZ3szMDk4MDNmMC1hYmNiLTRhZmYtODhiMi02Zjc2MjUyODJiZDl9Cg==

看到两个等号90%就是base64编码了,解开看看

成功

---------------------------------------------------翻车分割线---------------------------------------------------------------

做题时,我不知道java这个文件泄露漏洞,于是我就打起了admin登陆的想法,输入admin,burp爆破,直接进去了

账号:admin

密码:admin888

进去后是这样

 我还一度以为在这里,然后help.docx我还以为要在Login目录下完成,卡了老长时间了

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值