提示
WEB-INF/web.xml泄露
后拿到题目的一般想到的正常思路
- sql注入
- 弱口令
先信息收集不进行操作
有download,难道是下载文件,访问看看
这里访问抓包试了下,传送后返回码是200,说明应该可以访问,但是看响应包像是报错了
应为我没有javaweb搭建的基础,所以只能凭经验来做
尝试post传输参数filename
这明显有了回显
(用post的原因,为什么get访问返回访问码200说明有这个文件并且允许访问,但为什么没有数据,就想试试post)
应为是java环境又能访问文件,这里尝试看看WEB-INF/web.xml泄露
WEB-INF是JAVA的WEB应用安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问
一般情况,isp引擎默认都是禁止访问WEB-INF目录的,在一些特定的场合(Nginx配合
Tomcat做均衡负载或集群等情况时,Nginx不会去考虑配置其他类型引擎导致的安全问题而引入到自身的安全规范中来),从而造成源码泄露。
尝试访问WEB-INF/web.xml
这里明显就是WEB-INF/web.xml泄露,并且返回了flag位置
接下来要访问WEB-INF/classes/com/wm/ctf/FlagController.class
因为站点所有用的class文件都在WEB-INF/classes里,查看配置文件只知道了flag的位置
这里出现base64代码
解密获得flag