欢迎光临
我们一直在努力

BUUCTF [RoarCTF 2019]Easy Java1

一. 查看标题与源码

标题是Java,说实话也看不出来啥,毕竟Java涉及的东西太多了,可以先打开靶机看看。

可以看到是一个登录框,可以试试SQL注入,发现还是不行。

接着也可以试试有没有啥文件泄露,发现扫描完目录啥都没有。

到这里对于没怎么接触过Java题型的人来说,基本没什么思路了。

二. 寻找泄露文件

通过查询资料可以知道,点击help会自动跳转到Download目录,且url后边传入了一个参数,可以看出来是要打开名为help.docx的文件。但是这里显示:

java.io.FileNotFoundException:{help.docx}

这里我们可以尝试使用post请求传入参数filename=help.docx

发现可以下载这个help.docx的文件了,那么我们可以先下载好看一下文件内容

发现啥都没有。到这里基本上思路又断了。继续查资料

查完资料发现这道题目考的是java的web应用

这里补充一下JAVA的知识点,以下内容搬运自:ctf/web源码泄露及利用办法【总结中】_web游戏泄露源码信息找回解题思路-CSDN博客

WEB-INF 是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WEB-INF主要包含以下文件或目录: /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中 /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件 /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。 /WEB-INF/database.properties:数据库配置文件

所以我们继续通过post传参,拿到web的配置文件

在配置文件的最后边可以看到flag相关的对象配置地址和文件

<servlet>

<servlet-name>FlagController</servlet-name>

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

</servlet>

通过这段信息,我们可以看见flag的这个类的文件在com.wm.ctf.FlagController

那么我们继续post传参拿文件:filename=/WEB-INF/classes/com/wm/ctf/FlagController.class

由于我们拿到的是class文件,这是一个二进制文件,我们需要借助工具来查看,这里可以使用010或者IDA,这里我就演示一下010 。

这里发现一段base64密文,我们试试解密。

可以看到直接拿到了flag。

此题完。

赞(0)
未经允许不得转载:171主机测评 » BUUCTF [RoarCTF 2019]Easy Java1
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址