Buuctf-easy_java
题目是登陆页面,查看源码
发现一个连接,跳转到帮助文档
之后构造连接访问,发现是java语句,帮助文档不存在
补充知识点:
JAVA WEB目录结构
WEB-INF:Java的web应用安全目录;
此外如果想在页面访问WEB-INF应用里面的文件,必须要通过web.xml进行相应的映射才能访问;
敏感目录举例:
1 | /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则 |
尝试直接访问/WEB-INF/web.xml,未找到文件
burp抓包,将刚才帮助文档包含文件,修改为WEB-INF/web.xml,然后还要将请求方式修改为POST
简单来说,java web是基于Tomcat服务器搭建的,通过servlet来开发。
狭义来说servlet是指Java语言实现的一个接口。
可以看到servlet标签属性中有flag的字样,但不知道怎么访问。
发现操作flag的关键文件位置,读取(或下载)/WEB-INF/classes/下的flag的关键文件位置,又因为Java字节码类文件(.class)是Java编译器编译Java源文件(.java)产生的“目标文件”。
最终得出flag的关键文件位置为:/WEB-INF/classes/com/wm/ctf/FlagController.class
补充知识点:
1 | <servlet-class> |
servlet包含了路径信息,我们尝试包含一下FlagController所在路径,不过这次要在前面加上classes来访问来访问class文件目录(详见上面的目录结构),且文件后缀为.class
查看返回内容,方块是burp不支持的中文相关字符。其中发现返回有base64编码字符,拿去解码。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 like4h!