官术网_书友最值得收藏!

2.7.2 案例分析

1.KYC信息泄露

在前面2.3節(jié)“業(yè)務(wù)邏輯”中曾經(jīng)講過KYC認(rèn)證缺陷,指的是用虛假的非法的信息來繞過交易所的KYC認(rèn)證。而對于使用真實KYC信息認(rèn)證的用戶,KYC信息本身的安全性顯得尤為重要。

2.忘記密碼

某交易所在處理用戶忘記密碼操作時未對響應(yīng)包進行處理,當(dāng)輸入郵箱或者電話號碼進行找回密碼操作時,服務(wù)器將用戶的uid、mobile、name、nickname、email、qq、wexin、identitycardnon(身份證號)以及googlesecret一并返回,造成了極其嚴(yán)重的KYC信息泄露,如圖2.36所示。

圖 2.36

3.邀請列表

某交易所在用戶查看邀請人列表時沒有對服務(wù)器響應(yīng)包內(nèi)容進行處理,導(dǎo)致查看邀請列表時會泄露所有被邀請人的KYC信息,包括uid、mobile、name、nickname、email、qq、wexin、identitycardnon(身份證號)以及googlesecret等。利用存在的越權(quán)漏洞,可以遍歷收集所有被邀請用戶的KYC信息,如圖2.37所示。

圖 2.37

注意:為避免涉及敏感信息,此處不提供手機結(jié)果以及具體細(xì)節(jié)。

4.OTC查看商家/訂單

某交易所在用戶查看OTC訂單處存在信息泄露,服務(wù)器的響應(yīng)包里將商家的id、qq、alipay、whatsApp、nickname、mobile、wechat、telegram、username、realname、skype和email全部返回,只要遍歷訂單就可以獲得所有商家的個人信息,如圖2.38所示。

圖 2.38

5.信息泄露攻擊鏈

我們團隊在對某交易所進行安全測試時發(fā)現(xiàn),該交易所在用戶查看OTC商家的信息時,遍歷userid便可以獲得所有商家用戶的phone、username和nickname。然后,經(jīng)過測試又發(fā)現(xiàn)在處理用戶忘記密碼操作處發(fā)現(xiàn)信息泄露,只要輸入手機號就可以獲得商家的userid以及email。通過兩個信息泄露漏洞構(gòu)成的攻擊鏈同時進行收集,最終收集到所有商家用戶的真實姓名、電話號碼、郵箱地址以及昵稱。

圖2.39所示為通過遍歷userid獲取所有商家的phone和username。

圖 2.39

圖2.40所示為通過收集到的手機號碼來獲取商家的email以及userid。

也許某個點的信息泄露看起來微不足道,一旦點與點之間連成線,對于攻擊者來說,這兩個點確定的可不只是一條有始有終的線段,當(dāng)這條攻擊鏈被利用起來的時候,便是一條有始無終,直至目標(biāo)的射線。

6.源碼信息泄露

在開發(fā)過程中,開發(fā)與測試人員為了能夠更加輕松地了解以及調(diào)試代碼,通常在開發(fā)與測試階段在代碼中留下大量注釋信息,其中不乏測試用IP地址、測試端口、測試用賬戶、測試用token和測試用API等。

圖 2.40

編寫注釋對于廣大開發(fā)與測試人員來說可以提高代碼的易讀性以及開發(fā)效率,可一旦這些注釋經(jīng)過開發(fā)環(huán)境、測試環(huán)境到達(dá)了生產(chǎn)環(huán)境,在公網(wǎng)上暴露出來,方便的可就不只是兢兢業(yè)業(yè)的開發(fā)者與測試者,還有在黑暗中隱藏行蹤,時刻緊盯著目標(biāo)的攻擊者。

在經(jīng)過對大量交易所的測試后我們發(fā)現(xiàn),開發(fā)與測試人員可能是世界上最具有開源精神的一批人,有的人喜歡將自家網(wǎng)站的內(nèi)網(wǎng)拓?fù)湟约皽y試接口開源出來供大家欣賞。例如,某交易所源代碼中存有大量含有測試用接口、IP地址的注釋,如圖2.41所示。

圖 2.41

有些人喜歡將自家的加密密鑰開源出來供大家使用。例如,某交易所源代碼中含有AES加密的硬編碼密鑰,導(dǎo)致數(shù)據(jù)加密被破解,如圖2.42所示。

圖 2.42

而有些人不僅直接將自家測試用token放到源碼里,還向賬戶里進行充值,可謂“弱水三千,任君自取”,不過取的是不是一瓢就很難得知了。例如,某交易所源碼中含有測試用JWT,修改后可成功登錄賬戶,控制資產(chǎn),如圖2.43所示。

圖 2.43

使用測試用JWT登錄賬戶,控制資產(chǎn),如圖2.44所示。

圖 2.44

誠然,詳細(xì)而又全面的注釋是開發(fā)與測試人員良好的代碼編寫習(xí)慣,不過要記得在經(jīng)過開發(fā)環(huán)境與測試環(huán)境后,進入生產(chǎn)環(huán)境之前,應(yīng)將所有可能會暴露到外界的含有敏感信息的注釋刪除,以防敏感信息泄露。在GitHub上開源是好事,但也要記得在上傳之前仔細(xì)檢查,不要將自家的數(shù)據(jù)庫地址與密碼一同開源出去。

主站蜘蛛池模板: 柘城县| 安龙县| 香格里拉县| 临沂市| 紫金县| 阿坝| 贡觉县| 广元市| 万安县| 霍邱县| 广西| 贺兰县| 特克斯县| 塔城市| 麻城市| 涟水县| 宁河县| 三亚市| 乡宁县| 那坡县| 慈溪市| 萨嘎县| 漠河县| 旅游| 全州县| 洞头县| 安阳市| 沙雅县| 苏尼特左旗| 博乐市| 昂仁县| 大厂| 化德县| 安阳县| 武义县| 新建县| 庆元县| 开江县| 禄丰县| 巴塘县| 萝北县|