网易首页 > 网易号 > 正文 申请入驻

两个GET请求,9万美元:谷歌开发者文档站被挖出远程代码执行漏洞

0
分享至

一个签名密钥,被塞进了它自己签名的那个Cookie里。这不是比喻,是字面意思。

安全研究者在对谷歌开发者文档站做常规OAuth流程梳理时,发现了一个足以拿下9万美元赏金的远程代码执行漏洞。整个攻击链的起点,是developers.google.com上一个约1200字节的Flask会话Cookie。

正常来说,一个用来存CSRF令牌和返回地址的Cookie,几百字节就够了。1200字节意味着里面塞了别的东西。研究者把它解码了。

Cookie里藏着什么

Flask的会话Cookie是签名而非加密的,任何拿到Cookie的人都能直接读出内容。解码后,里面是一个pickle序列化的oauth2client.client.OAuth2WebServerFlow对象,字段里明明白白躺着谷歌的OAuth client_id和client_secret。

一个客户端密钥泄露在Cookie里,本身已经是一个漏洞。但真正致命的是下一步。

研究者试着把这个client_secret当作Flask的SECRET_KEY来用,结果Cookie上的签名验证通过了。签名密钥,就存在它签名的那个对象里面。

为了排除巧合,研究者离线重算了签名。Flask通过itsdangerous库、用cookie-session做密钥派生,重算出来的签名和服务器发来的Cookie上的签名逐字节一致。翻转签名里的一个字符,被拒绝;用恢复出的密钥重新签名原始载荷,被接受。

会话完整性,到此彻底失效。攻击者可以设置会话里的任意键值,同时生成服务器认可的签名。

从伪造Cookie到代码执行

OAuth回调流程会从会话里读回flow对象,然后执行pickle.loads。这条链路是:验证Flask签名、读取flow条目、base64解码、反序列化。

pickle.loads只有在没人能伪造有效Cookie时才称得上"安全"。密钥一旦公开,这个前提就不存在了。研究者构造了自己的会话,用自选的CSRF令牌,把任意pickle数据塞进对应的flow键下。state参数也是攻击者可控的,服务器端不需要任何东西对齐。

pickle的REDUCE操作码会指定一个可调用对象及其参数,反序列化时直接调用它。公开的签名密钥加上这个执行点,等于无需认证的远程代码执行。

研究者没有在谷歌生产环境上跑命令,而是用时间证明。载荷简化为time.sleep(N),同一个伪造会话,只改数字:

  • time.sleep(0) → 0.207秒
  • time.sleep(3) → 3.193秒
  • time.sleep(5) → 5.194秒
  • time.sleep(8) → 8.283秒

响应时间精确跟随pickle里的数字,只有服务器真的导入了time并调用了sleep(N)才会这样。

随后是一组对照测试,排除慢接口或抖动的可能:不带Cookie,返回"Invalid request";签名翻转一个字节,返回"Invalid request";签名有效但没有flow条目,返回"Invalid request state";签名有效且带真实flow,走到谷歌令牌交换环节,在伪造的授权码上以"invalid_grant"失败;签名有效且带sleep载荷,延迟精确等于选定的数字。

影响范围不止一个站

这不是单个应用,而是共享的DevSite平台。来自developers.google.com的密钥,能签发出在以下域名上有效的会话:

  • firebase.google.com
  • developer.android.com
  • source.android.com
  • docs.partner.android.com

一个密钥,横跨七个谷歌域名。

修复需要四件事同时到位

研究者给出了四条修复建议,任何一条都能打断攻击链:

  1. 轮换两个已暴露的OAuth客户端密钥,并作废所有用它们签发的会话。
  2. 每个部署使用独立的高熵Flask SECRET_KEY,从服务端存储读取,与任何OAuth凭据无关。
  3. 把OAuth flow对象留在服务端,Cookie里只放不透明的引用,不携带任何敏感信息。
  4. 任何跨越客户端边界的数据都弃用pickle,改用带模式校验的纯数据格式,让伪造的Cookie失去作用。

四条建议叠在一起才构成完整防线。而这次漏洞之所以成立,正是因为这四件事同时缺失——两个GET请求,最终变成了在谷歌服务器上执行代码。

时间线与赏金

报告提交后,经过分类、受理,最终定级为Normal Google Applications(T2)、S0级远程代码执行,赏金7.5万美元基础金额,乘以1.2的系数,理由是报告质量出色,最终9万美元。漏洞已修复。

研究者致谢了谷歌Bug Hunters团队和DevSite工程师。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
俄罗斯否认出现“不明原因肺炎”新病例,世卫:无持续传播证据

俄罗斯否认出现“不明原因肺炎”新病例,世卫:无持续传播证据

界面新闻
2026-10-11 23:26:35
科技砸盘元凶找到了?中泰证券:保险与固收+被动赎回是本轮卖盘核心,警告科技仓位还有2-3成待消化

科技砸盘元凶找到了?中泰证券:保险与固收+被动赎回是本轮卖盘核心,警告科技仓位还有2-3成待消化

投资者内参
2026-10-12 21:15:37
十年挥霍一场空!全民进入过日子时代:热闹褪去消费降温人心归真

十年挥霍一场空!全民进入过日子时代:热闹褪去消费降温人心归真

趣味萌宠的日常
2026-10-12 04:02:31
水上拓展项目刚开业10天,发生倾斜多人落水 重庆美心2号洋人街致歉:已暂停,全面排查隐患

水上拓展项目刚开业10天,发生倾斜多人落水 重庆美心2号洋人街致歉:已暂停,全面排查隐患

大风新闻
2026-10-12 14:18:03
美智库民调:假设“台独”宣布独立,大陆仅24%民众支持全面打击

美智库民调:假设“台独”宣布独立,大陆仅24%民众支持全面打击

张斌说
2026-10-12 09:42:35
去社保局一问,心凉了半截:灵活就业的人,这回真得算算账了

去社保局一问,心凉了半截:灵活就业的人,这回真得算算账了

白米饭怎么吃
2026-09-29 07:44:53
不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

冷紫葉
2026-09-19 12:41:16
维尼修斯染红之后,皇马队友贝林厄姆在社交媒体上,向其送上私人支持

维尼修斯染红之后,皇马队友贝林厄姆在社交媒体上,向其送上私人支持

福酱的小时光
2026-10-12 06:37:36
比亚迪内部曝大瓜:员工将热水倒领导身上,评论区炸锅

比亚迪内部曝大瓜:员工将热水倒领导身上,评论区炸锅

慧翔百科
2026-10-12 08:40:50
我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

小兔子的快乐
2026-10-12 11:30:52
CBA猛料!郭艾伦或加盟北控,广东签36岁外援,高诗岩缺席第一阶段

CBA猛料!郭艾伦或加盟北控,广东签36岁外援,高诗岩缺席第一阶段

中国篮坛快讯
2026-10-12 15:20:55
这样打扮的成熟女人,还挺有魅力的

这样打扮的成熟女人,还挺有魅力的

美女穿搭分享
2026-09-13 10:22:54
浙江气温将开启“过山车”模式!冲上30℃后大幅回落

浙江气温将开启“过山车”模式!冲上30℃后大幅回落

浙江发布
2026-10-12 15:53:54
穆里尼奥彻底弃用!皇马重磅新援断崖陨落!沦为伯纳乌谜之弃子

穆里尼奥彻底弃用!皇马重磅新援断崖陨落!沦为伯纳乌谜之弃子

奶盖熊本熊
2026-10-12 07:54:38
大快人心!捐给美国7千万,满嘴“中国穷关我啥事”,如今破产了

大快人心!捐给美国7千万,满嘴“中国穷关我啥事”,如今破产了

泪满过眼
2026-10-13 00:42:18
终于硬气!中国拒绝被澳大利亚铁矿大鳄拿捏,因我们有了杀手锏!

终于硬气!中国拒绝被澳大利亚铁矿大鳄拿捏,因我们有了杀手锏!

阿胡
2025-10-05 10:11:24
郑钦文俏皮摘掉父亲帽子:我爸是一个很社牛的人,他还是有点东西的

郑钦文俏皮摘掉父亲帽子:我爸是一个很社牛的人,他还是有点东西的

念洲
2026-10-12 06:57:48
诺贝尔经济学奖揭晓:两位学者重新诠释凯恩斯理论,为宏观稳定政策奠定微观基础

诺贝尔经济学奖揭晓:两位学者重新诠释凯恩斯理论,为宏观稳定政策奠定微观基础

华尔街见闻官方
2026-10-12 19:43:49
什么样的家庭才算得上中产阶级?内部人:4个条件满足一个就行!

什么样的家庭才算得上中产阶级?内部人:4个条件满足一个就行!

雪儿爱追剧
2026-10-11 15:24:43
都已经遥遥领先了,凭什么还要消费者给时间?

都已经遥遥领先了,凭什么还要消费者给时间?

迷世书童
2026-10-12 00:05:17
2026-10-13 04:51:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
180文章数 75关注度
往期回顾 全部

科技要闻

尊界:10月底确认制动踏板支架升级方案

头条要闻

男子借5000万 已归还3325万后仍被要求还4980万

头条要闻

男子借5000万 已归还3325万后仍被要求还4980万

体育要闻

一周吃6顿披萨的胖子,也能单防姆巴佩?

娱乐要闻

张艺谋身体状况曝光 陈婷不再顾及体面

财经要闻

尊界,是江淮的救命车还是失血引擎?

汽车要闻

小鹏G9L巴黎车展全球上市 法国市场售价74990欧元起

态度原创

游戏
家居
亲子
本地
公开课

GS仅6分 拿破仑第一人称类魂武器挺多但敌人重复

家居要闻

2026建博会(广州) 公装联探展交流活动

亲子要闻

婚姻真相:为什么产后一年,是夫妻最难熬的一年

本地新闻

踏访沙县第一村,寻国民小吃本源

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版