glassfish任意文件读取漏洞解析

阅读量210051

|

发布时间 : 2016-01-15 11:11:58

http://p1.qhimg.com/t016f0a76c0b628532e.jpg

        昨天播报转载了一篇PKAV写的有关glassfish的文章,今天360安全播报初步分析一下此漏洞。大家看完以后应该会茅舍顿开。

        这个漏洞其实就是很多年以前出现的unicode编码漏洞,早期的webSphere、tomcat都出现过这种问题,其实就unicode编码缺陷导致同一代码的多重含义,导致操作系统对代码的错误解析,一个典型的例子就是%c0%ae会被识别为./,具体可以参考https://www.owasp.org/index.php/Canonicalization,_locale_and_Unicode#Description

        所以glassfish这个poc实际上就是../../../../../../../../../../../etc/passwd,所以关于这个漏洞基本上没什么好说的了,很老的东西了。13年作者在wooyun就发过类似漏洞,不过是绕过webSphere的,可以读取任意配置文集,下载class代码,道理其实是一样的http://wooyun.org/bugs/wooyun-2013-047523。通过这种方法可以读取任意文件,这里附上读取admin后台配置文件截图

http://p8.qhimg.com/t0153195d51c8b89bd2.png

        并且可以下载任意代码,如图

http://p5.qhimg.com/t01a928cb3c40fe96ad.png

        关于利用实际上还可以变形,例如

 http://192.168.147.148:4848/theme/META-INF/%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./domains/domain1/config/admin-keyfile

http://p5.qhimg.com/t012f006c69fd65039d.png

        修复方法:

        其实很简单,过滤unicode解码之后的字符串防止出现”.”,”/”等就可以了,不管是程序代码还是waf规则,都是这样做。其实还是云服务提供商的waf没有过滤严谨,因为waf完全有能力去解码url,然后配置waf规则做过滤。

本文由360天眼安全实验室原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/83306

安全KER - 有思想的安全新媒体

分享到:微信
+10赞
收藏
360天眼安全实验室
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66