0xGame个人结语
完结撒花!!!学到了很多很多,算是我这个WEB菜鸡过渡期的一个见证吧。0xGame虽然也没做出来几道(大嘘),但是一步步跟着复现也学了很多好玩的知识点和思路,希望下次能进化成WEBak哥hhhhhh~~~~
来看最后一周,全是java框架,麻了。
spring
整体不难,hint把解题方法基本写脸上了,网上一搜就是。
【精选】Springboot信息泄露以及heapdump的利用_heapdump漏洞_李白你好的博客-CSDN博客
Springboot之Actuator的渗透测试和漏洞修复_actuator/heapdump_抹香鲸之海的博客-CSDN博客
【精选】Springboot之Actuator信息泄露漏洞利用_actuator/env_Java海的博客-CSDN博客
读env看到这里,那说明我们应该读app.password密码,这个密码就是flag。

用一个java的visualvm工具处理heapdump文件查看泄露信息,但是高版本java没有这个内置的工具了,要去github上自己下。
然后就是OQL里面搜,payload都是现成的(但是另外有个toString的payload我梭不出来,放弃了..)- select s from java.util.LinkedHashMap$Entry s where /app.password/.test(s.key)
复制代码 找value就有了:

auth_bypass
点进去两眼一抹黑,直接看hint:

Tomcat Filter 绕过 + Java 任意⽂件下载搭配 WEB-INF ⽬录的利⽤。根据官方wp的说法,从⽹上的⽂章可以知道, 直接通过 getRequestURI() 得到的 url 路径存在⼀些问题, ⽐如不会⾃动 urldecode, 也不会进⾏标准化 (去除多余的 / 和 .. ) 看看附件的源码有什么东西先:
首先是这里的/download路由有过滤,把..给ban掉不让路径穿越,而且/download不能直接用,但是搜了下就知道两个/就可以绕过了,即//download。

这是另一个DownloadServlet的文件,结合hint就知道可以实现任意目录下载。

测试一下发现,这个可以下载avatar.jpg,但是不能直接下flag。

题目说是war打包的,这个 war 其实也就相当于压缩包, Tomcat 在部署 war 的时候会将其解压, ⽽压缩包内会存在⼀个 WEB-INF ⽬录,⽬录⾥⾯包含编译好的 .class ⽂件以及 web.xml (保存路由和类的映射关系)
网上搜一下:

我们下载这个web.xml试试:
(%2e就是 . )


注意到这里的EvilServlet,映射的路由为 /You_Find_This_Evil_Servlet_a76f02cb8422
同时看到这里可以用来构造url:

看了下下面的博客,了解到如何利用映射路由下载.class文件:
WEB-INF/web.xml泄露漏洞及其利用-CSDN博客

使用java反编译工具打开class字节码文件,这里我用的是jd-GUI:

Evil_Cmd_Arguments_fe37627fed78 就是我们POST传参的参数名,这就用上了前面的映射路由,显然exec可以RCE。
后面看了官方wp才知道没有回显,还好我直接反弹shell
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |