0x1题记
喜迎新年,后面打算对出来的漏洞进行分析下,先是分析过的NC,直接把以前的记录贴上来,NC反序列化其实去年就有rce接口了,这次这个只是换了个接口,漏洞原理一样,这样的接口以前分析的时候发现有挺多的。
0x2分析
nc这个除了反序列化还有其他的利用,如JNDI、文件上传等。
先从接口入手,最开始的接口应该是/servlet/~ufofr/DeleteServlet,把nc源码下下来,再去搜集下NC目录和配置文件的信息如下
这里可以看到,有个accessProtected设置为false的话不会进行token验证,可以直接访问到。
找到DeleteServlet的配置文件,可以看到类名。
通过类目去jar包中找到对应的实现代码,可以直接的看到调用了readObect,内容可控,post直接传
并且配置文件的accessProtected为false,能直接访问,接下来就只需要一条能执行命令的利用链。可以看到nc的jar里有commons-collections,啊这。直接用ysoserial就成了。
RCE接口如DeleteServlet、XbrlPersistenceServlet等基本都是这个原理。
0x3回显
回显的话有些接口是有response的(UploadServlet、DeleteSerlvet等),这样直接把执行的结果通过异常抛出。
0x4利用
网上的工具也挺多的,这里就直接burp插件发送序列化数据来打吧。
0x5补充
/servlet//~ic/bsh.servlet.BshServlet
这个接口访问可以直接执行命令(应该一定版本的才有,之前遇见过没有的情况)、泛微之前也有个这个功能