[RoarCTF 2019]Easy Java
写在前面
大一fw没学过java,这题是把叹之师傅的wp看了一遍以后做的。(=w=)
知识点
WEB-INF/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:数据库配置文件 漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码
题解
打开题目是登录框,但是根据题目提示这应该不是SQL注入
点击help用Burpsuite抓包,把GET改为POST
得到报错信息,post传filename值(ps:记得把Referer里的/login删掉)
post:filename=WEB-INF/web.xml
根据知识点中的:漏洞检测以及利用方法;以及下图我们构造payload
filename=WEB-INF/classes/com/wm/ctf/FlagController.class
得到base64源码,解base64的到flag