漏洞预警
Fastjson再次爆出通杀的反序列化代码执行漏洞
据态势感知平台监测,网络上再次出现此前未曾发现的fastjson反序列化攻击向量。
Fastjson是由阿里巴巴推出基于Java语言的高性能json操作库,由于速度快、支持功能丰富,颇受开发者的喜爱,在国内应用极为广泛。但近年来由于反序列化漏洞的威力被从业人员逐渐认可,越来越多的攻击者开始挖掘基础组件的反序列化漏洞。
astjson <= 1.2.68
fastjson sec版本 <= sec9
在业务环境中,经常会有传递一个对象的需求,此时需要将内存中存储的对象通过网络传输,通常会将对象所有的成员变量转储成字符串(本例中即为json格式)通过HTTP/HTTPS协议传送,在到达对端后,重新将相同的类实例化,并将所有的成员变量一一赋值,即可在本地得到一个与对端相同的对象。字符串还原对象的过程称之为反序列化。
此功能虽然提高了开发效率,但同样带来了安全问题,在早期的反序列化功能中,并不会反序列化的类做限制,函数会无条件的反序列化对端传来的数据。由于反序列化是递归的,且可以实例化当前堆栈中的所有存在的类。这导致攻击者可以寻找一些常见的、具有代码执行、文件读取等功能函数的工具类,即可远程操控服务器。且由于不能强制控制用户反序列化的类,开发者只能通过黑名单的方式,将每次攻击者发现的新的反序列化链条禁止来修复漏洞,这就导致了防御者一直处于被动的地位。
如上所述,fastjson采用黑白名单的方法来防御反序列化漏洞,导致当黑客不断发掘新的反序列化Gadgets类时,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,造成远程命令执行漏洞。经分析该漏洞利用门槛较低,可绕过autoType限制,风险影响较大。
星巴克被发现存在约1亿用户的信息泄露风险
漏洞信息
一位白帽子在星巴克为朋友购买生日礼物时,意外的发现了一个可疑的接口,经过探测,最终得到了一个存在未授权访问的Microsoft Graph实例。
此实例上存储了约一亿用户的个人信息。
此问题是由于反向代理的不当配置所致,白帽子首先探测出该网站架构为:
这意味“ app.starbucks.com”主机无法访问通过特定端点访问的逻辑或数据,但似乎可以将其充当假设的第二个主机(internal.starbucks.com)的代理或中间人。
在经过一些试错与绕过waf的工作后,该白帽子发现似乎可以通过:
/bff/proxy/v1/me/streamItems/web....................
访问到根目录,最后经过一些爆破与目录猜解工作,发现了星巴克用于存储用户数据的Microsoft Graph库:
/bff/proxy/stream/v1/users/me/streamItems/web..................searchv1Accounts
通过调用count接口,确认了数据条数为99356059条。
{
"@odata.context": "https://redacted.starbucks.com/Search/v1/$metadata#Accounts",
"@odata.count":99356059
}
所幸的是,星巴克官方快速的修复这一问题,也没有证据表明这些数据遭到了泄露。
本周安全态势分析 本周发生的事件有fastjson出现反序列化漏洞与星巴克信息泄露风险,可造成命令执行与大规模信息泄露等严重问题。Fastjson作为常用的json库,在各种应用广泛使用,且可直接远程执行命令,星巴克的信息泄露暴露企业内网中的脆弱性,且数据量较大。
已完成
数据加载中