14
話說(shuō)2016春節(jié)火爆朋友圈的不是春節(jié)晚會(huì)的段子,而是pyyx。pyyx是什么?請(qǐng)自動(dòng)看你的輸入法聯(lián)想什么。如果說(shuō)是“便宜一點(diǎn)”,那你可是個(gè)講價(jià)狗,如果是“培養(yǎng)一下”那你可是有yp黨的嫌疑。
好了,我們不調(diào)皮了,pyyx其實(shí)就是“朋友印象”,一款匿名社交APP。
看到小伙伴們玩得這么高興,小編的手也癢了起來(lái),分別用客服和個(gè)人的微信進(jìn)行了測(cè)試。
小編發(fā)現(xiàn)了一個(gè)問(wèn)題:膽小,不自信的人多會(huì)用匿名社交、聊天軟件來(lái)表達(dá)愛(ài)慕之心。
于是有人希望通過(guò)語(yǔ)言特點(diǎn)與經(jīng)驗(yàn)判斷匿名的人是誰(shuí)。那我們能不能找到此軟件的漏洞從而得知匿名者是誰(shuí)呢?因此小編馬上開(kāi)始咨詢了這方面Newsky的技術(shù)天才song。沒(méi)想到song真的就發(fā)現(xiàn)了朋友印象這款A(yù)PP的問(wèn)題。太多的技術(shù)細(xì)節(jié)我也不便多說(shuō),簡(jiǎn)單來(lái)說(shuō)就是朋友印象APP的加密在應(yīng)用層上,很容易就破解抓取到明文數(shù)據(jù)。
總之一句話,還真被他做到了。我能很輕松的就得到本來(lái)匿名和我聊天的人的微信ID。像下面這樣:
閑話不多說(shuō),馬上開(kāi)始測(cè)試之。
<! link to web Tools>
你就假裝已經(jīng)拿到了工具好了,因?yàn)閭ゴ蟮暮诳徒缛宋?,我們的精神?dǎo)師shotgun(啟明星辰VP)教導(dǎo)我們,一定要做好白帽子,廠商還沒(méi)確認(rèn)就不能給工具。
Step1:打開(kāi)song 開(kāi)發(fā)的工具,界面是土了點(diǎn),但是滿滿的技術(shù)范兒。
Step2:輸入你的賬號(hào)密碼登錄工具。中國(guó)區(qū)號(hào)86。
點(diǎn)擊藍(lán)色的按鈕“登錄”,再點(diǎn)擊“點(diǎn)這里獲取聊天記錄……”下面的文本框顯示出“X個(gè)匿名聊天”等字樣的時(shí)候說(shuō)明你登錄成功。
Step3,將第一個(gè)對(duì)話框的內(nèi)容全選復(fù)制黏貼到第二個(gè)對(duì)話框中。點(diǎn)擊“處理聊天記錄”。
就會(huì)得到如下效果:
每個(gè)匿名人和你聊天的最后一句話都會(huì)以文字鏈接的形式顯示。你點(diǎn)擊進(jìn)去就可以查看這個(gè)人的微信昵稱(chēng)了哦。
這里面分為兩種情況:
A。對(duì)方?jīng)]有注冊(cè)朋友印象通過(guò)鏈接與你進(jìn)行聊天,工具抓取來(lái)的數(shù)據(jù)如框1便顯示的直接是他的微信昵稱(chēng)。
B。對(duì)方注冊(cè)了朋友印象與你聊天工具抓取來(lái)的數(shù)據(jù)如框2顯示,需要仔細(xì)查找下面的字段才能得知對(duì)方的微信昵稱(chēng)。
本漏洞已經(jīng)提交給烏云并已報(bào)廠商確認(rèn)中,細(xì)節(jié)內(nèi)容不便多說(shuō),希望大家多多包涵。
匿名聊天服務(wù)的興起,有人說(shuō)是因?yàn)樽员?,色情,不顧情面的沖動(dòng)。然而當(dāng)你開(kāi)始以為可以盡情對(duì)自己邪惡的一面的放縱的時(shí)候,也觸發(fā)了一部分人不可扼制的窺私 欲。因此對(duì)于這種匿名社交服務(wù)提供商而言,個(gè)人信息安全的保護(hù)更為重要。希望國(guó)內(nèi)的互聯(lián)網(wǎng)公司也都能將重視安全問(wèn)題擺到前臺(tái)來(lái)。
為了更好地普及小白,這里附上啟明星辰VP shotgun的科普,請(qǐng)細(xì)看:
這是一個(gè)應(yīng)用程序泄露用戶隱私的漏洞,用戶選擇匿名評(píng)論,肯定是不希望被評(píng)論者得知自己的身份。
我在使用這個(gè)APP的時(shí)候發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象,當(dāng)我把某個(gè)實(shí)名用戶拉進(jìn)黑名單以后,對(duì)這個(gè)實(shí)名用戶相應(yīng)的匿名用戶發(fā)送消息就會(huì)失敗,這當(dāng)然是程序員在實(shí)現(xiàn)拉黑邏輯的時(shí)候出現(xiàn)了錯(cuò)誤,但是往深里去想的話,這就意味著服務(wù)器并沒(méi)有對(duì)用戶進(jìn)行匿名轉(zhuǎn)換,客戶端層面是可以讀取到用戶的實(shí)名信息的,我的同事用調(diào)試工具測(cè)試了一下,果然如此。
一般來(lái)說(shuō),泄露用戶隱私的漏洞屬于中等危害,并不屬于最嚴(yán)重的那種,然而,朋友印象這類(lèi)匿名社交,其主打的核心功能之一就是匿名評(píng)論和聊天,很多用戶也是因?yàn)槟涿拍軌驎乘缘赝虏?,因此匿名可讀這個(gè)問(wèn)題就會(huì)嚴(yán)重很多,可以說(shuō)是破壞了這個(gè)應(yīng)用的根基。
同時(shí),我們從這個(gè)漏洞的出現(xiàn),也可以看到,該應(yīng)用的開(kāi)發(fā)團(tuán)隊(duì)在安全架構(gòu)和設(shè)計(jì)方面存在較大的缺陷,所以一定還會(huì)存在其他類(lèi)型的漏洞,我們也建議開(kāi)發(fā)團(tuán)隊(duì)能夠本著對(duì)用戶負(fù)責(zé)的態(tài)度全面地檢查一下(建議NewSky評(píng)估一下)
是的,某國(guó)內(nèi)著名的社區(qū)應(yīng)用,以及某國(guó)內(nèi)著名的問(wèn)答網(wǎng)站應(yīng)用,都存在/曾經(jīng)存在類(lèi)似的漏洞,包括且不僅限于:匿名用戶信息可讀、用戶間私密短信可讀、強(qiáng)迫任意關(guān)注等。
例如,在幾個(gè)月前,筆者曾經(jīng)發(fā)現(xiàn)國(guó)內(nèi)某知名問(wèn)答社區(qū)存在可以讀取匿名用戶信息的漏洞,雖然用戶從網(wǎng)站或者APP看不到匿名用戶的信息,然而只需要稍微使用一些小技巧就可以通過(guò)系統(tǒng)的返回判斷出匿名用戶是誰(shuí),該漏洞的機(jī)理和今天這個(gè)漏洞是幾乎一樣的,沒(méi)有在底層對(duì)匿名信息進(jìn)行處理。問(wèn)答社區(qū)爆出匿名泄露的漏洞對(duì)用戶的影響可以說(shuō)是很大的,因?yàn)橛脩粼诨卮饐?wèn)題的時(shí)候如果選擇匿名,往往是因?yàn)椴幌胄孤秱€(gè)人隱私,或者擔(dān)心回答會(huì)引來(lái)爭(zhēng)吵、謾罵,而匿名泄露等于完全去掉了用戶的這層保護(hù),很可能會(huì)引發(fā)很多的矛盾和沖突。
可以說(shuō)在移動(dòng)互聯(lián)網(wǎng)飛速增長(zhǎng)的同時(shí),移動(dòng)互聯(lián)網(wǎng)的安全卻停滯不前,很多在電腦時(shí)代大家耳熟能詳?shù)男畔踩峡?,在移?dòng)互聯(lián)網(wǎng)時(shí)代還得一個(gè)一個(gè)地填平。
一方面,很多移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)團(tuán)隊(duì)急于出活,缺乏對(duì)安全的重視,這體現(xiàn)在:
1、很多移動(dòng)應(yīng)用缺少安全的設(shè)計(jì)。
由于開(kāi)發(fā)工期緊,很多移動(dòng)應(yīng)用并沒(méi)有加入安全的設(shè)計(jì),而是先完成功能,趕緊上線,安全問(wèn)題以后再說(shuō)。用戶認(rèn)證、傳輸加密、防盜號(hào)、隱私保護(hù)、防跨站腳本、防數(shù)據(jù)庫(kù)注入、防破解逆向等等功能都完全沒(méi)有,幾乎就是不設(shè)防。
2、開(kāi)發(fā)過(guò)程中沒(méi)有重視安全功能的實(shí)現(xiàn)。
有些應(yīng)用,雖然設(shè)計(jì)了安全功能,但是實(shí)現(xiàn)的時(shí)候馬虎大意,使得安全功能形同虛設(shè),很容易被繞過(guò)。
3、上線前缺少安全測(cè)試。
我們知道但凡是程序就必然有BUG,安全功能也不例外,而安全功能的BUG會(huì)更加隱蔽,因?yàn)檎J褂脮r(shí)很難暴露,發(fā)現(xiàn)的人往往也是奇貨可居不會(huì)主動(dòng)上報(bào),這就更加需要對(duì)應(yīng)用進(jìn)行全面的安全測(cè)試了,例如使用newskysecurity的掃描工具對(duì)朋友印象的APP進(jìn)行掃描,發(fā)現(xiàn)其中有十幾個(gè)安全漏洞,其中包括了客戶端使用明文對(duì)用戶密碼進(jìn)行傳輸(意味著你在公開(kāi)的網(wǎng)絡(luò)上登錄就很可能會(huì)丟失密碼)。
另一方面,很多移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)團(tuán)隊(duì)缺少足夠的安全意識(shí)和技能,并沒(méi)有把信息安全看作是架構(gòu)層面的設(shè)計(jì),而簡(jiǎn)單的當(dāng)作是普通功能。比如此次的漏洞:
1、既然是匿名,就應(yīng)該在系統(tǒng)底層對(duì)用戶進(jìn)行匿名處理,轉(zhuǎn)換為內(nèi)部ID而不是使用微信ID來(lái)進(jìn)行識(shí)別,匿名信息的屏蔽操作應(yīng)該統(tǒng)一由一個(gè)安全模塊完成,而不是各個(gè)功能模塊自行完成。這是把信息安全當(dāng)成基礎(chǔ)設(shè)施的原則;
2、所有匿名到實(shí)名的轉(zhuǎn)換操作應(yīng)該在服務(wù)器而不是客戶端完成,這是任何時(shí)候都不要信任客戶端以及用戶輸入的原則;
3、敏感數(shù)據(jù)在網(wǎng)絡(luò)上傳播的時(shí)候應(yīng)該加密;
這幾個(gè)原則在PC時(shí)代已經(jīng)廣為開(kāi)發(fā)人員熟知,然而在移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)中,能?chē)?yán)格遵守的團(tuán)隊(duì)屈指可數(shù),上文提到的newskysecurity團(tuán)隊(duì)使用他們的自動(dòng)化工具掃描檢查了大量的移動(dòng)應(yīng)用,其中60%有中等以上的安全漏洞,包括且不僅限于:各個(gè)銀行、超市、航空公司、電商、社交軟件的手機(jī)客戶端。例如美國(guó)著名的超市Target和Costco的手機(jī)應(yīng)用,都被檢查出有嚴(yán)重的安全問(wèn)題。
用戶應(yīng)該要有安全防范意識(shí):
1、網(wǎng)絡(luò)上沒(méi)有真正的匿名,由于大數(shù)據(jù)的存在,由于安全漏洞的存在,匿名很容易被泄露,所以不要仗著匿名去做一些平時(shí)實(shí)名時(shí)不敢做的事情,這樣很容易出問(wèn)題;
2、移動(dòng)互聯(lián)網(wǎng)的安全問(wèn)題越來(lái)越嚴(yán)重,使用第三方的應(yīng)用時(shí)要小心謹(jǐn)慎,特別是不要把自己的敏感信息(如實(shí)名信息或者銀行信息)存在應(yīng)用里;
3、經(jīng)常關(guān)注信息安全公告,發(fā)生重大信息安全事件時(shí)能夠及時(shí)反應(yīng),降低損失。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。