Decoding Google: Converting a Black Box to a White Box
a day ago
- 通过发现所有端点和隐藏参数,将Google的攻击面从黑盒转变为白盒。
- 私有Google API的发现文档部分无需身份验证即可访问,但其他部分需要API密钥或spatula标头。
- Web身份验证使用X-Goog-Api-Key和SAPISIDHASH;Android使用来自刷新令牌的承载令牌,并带有应用特定的上下文。
- 可见性标签(例如'PANTHEON')在发现请求中提供时,可以揭示隐藏的API端点。
- Android刷新令牌可通过accounts.google.com/EmbeddedSetup获取,并与具有特定范围和应用签名的承载令牌交换。
- X-Goog-Spatula标头为Android应用上下文提供无密钥身份验证,并可获取发现文档。
- 当发送无效的JSON或ProtoJson数组时,错误消息会泄露参数类型和完整的protobuf定义。
- 像req2proto这样的工具通过暴力破解字段索引来自动重构请求原型。