打开题目
之后利用弱密码爆破 admin/admin888
但是很明显这个不是方法
之后试试sql注入,无果
然后寻找页面其他的点
点击help出现这个页面
可以看到有个help.docx文件,想办法下载,因为自己没有怎么学过java,之后查看了wp
补充知识
https://blog.csdn.net/wy_97/article/details/78165051
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:数据库配置文件
漏洞成因
通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码
2 使用post提交请求下载文件(因为get提交无法下载)
打开并没有有用的信息
之后尝试下载 web应用程序配置文件
/WEB-INF/web.xml
补充知识
https://www.icode9.com/content-1-1345079.html
servlet:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
其实说白了这个就是JAVA源代码进行编译后所产生的后缀带有.class的东西。于是我们可以下载这个.class文件再利用反编译手段来获得flag。在线反编译java网站
http://javare.cn/
之后下载这个.class的文件
/WEB-INF/classes/com/wm/ctf/FlagController.class
在线反编译
之后base64解码