[RoarCTF2019]EasyJava
打开⽹站⼀看有个登录框,⼀开始以为是Sql注⼊,试了⼀会⼉发现好像不太⾏。看到登录按钮下⾯有⼀个help的链接,打开⼀看,
这样出错,但是将请求改为POST后就可以获取到⼀个⽂件
但是通过这个链接可以看出,我们可以通过这个链接修改为post请求来下载后台⽂件,我们下载⼀下l这个⽂件。
可以下载下来,这个⽂件是是Java的WEB应⽤的安全⽬录。如果想在页⾯中直接访问其中的⽂件,必须通过l⽂件对要访问的⽂件进⾏相应映射才能访问。
这篇⽂章介绍了⼀些在CTF中常见的源码泄露的情况。
我们可以通过l获取到java web的配置信息。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="/xml/ns/javaee"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/xml/ns/javaee /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>f.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>f.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>f.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>f.FlagController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FlagController</servlet-name>
<url-pattern>/Flag</url-pattern>
</servlet-mapping>
</web-app>
我们可以看到com.wm.FlagController,我们下载下载FlagController.class⽂件然后反编译,下载成功。
java xml是什么咱们使⽤jd-gui反编译看到flag就在这⾥,⽤base64编码了⼀次
使⽤base64解码即可。