? ? 今天早上登錄手機(jī)淘寶,發(fā)現(xiàn)需要重新輸入密碼,經(jīng)數(shù)次嘗試,確認(rèn)登錄密碼被更改。通過找回密碼改正密碼后,進(jìn)入淘寶。發(fā)現(xiàn)購物車中多了一件商品,價(jià)格99元。(如圖1)
自己之前購買的還沒發(fā)貨的某樣商品被退款,當(dāng)然,貨款是留入自己的余額寶賬號(hào)。沒有造成資金損失。
通過淘寶的安全設(shè)置,發(fā)現(xiàn)自己的賬號(hào)綁定了別的設(shè)備。(如圖3)
賬號(hào)被盜,只是登錄密碼被更改,支付密碼還沒有被改。由于本人謹(jǐn)慎,沒有打開“小額支付免密”功能,平時(shí)買個(gè)包子都要輸一遍密碼。所以,沒有造成任何資金損失。但所有的發(fā)貨地址信息已經(jīng)泄露,會(huì)導(dǎo)致接下來的以我的名義借錢詐騙、以其他人的電話號(hào)碼破解更多賬號(hào)的問題。(破解手法我會(huì)在下面進(jìn)行分析)
本人是iOS軟件開發(fā)工程師,平時(shí)很注意安全方面的問題。從沒有在Android系統(tǒng)上登錄過淘寶賬號(hào),使用的iPhone手機(jī)沒有越獄(iPhone 手機(jī)的沙盒機(jī)制在木馬方面不會(huì)有問題),工作、生活都是使用Mac電腦且沒有下載過不正規(guī)的軟件、視頻。基本可以排除是木馬盜號(hào)的可能。
而在近三個(gè)月內(nèi),經(jīng)常收到阿里巴巴的更改密碼的驗(yàn)證碼的短信(如圖4)。初步懷疑是通過點(diǎn)擊找回密碼,嘗試輸入驗(yàn)證碼的手段更改密碼。
(圖4只截取了今天的短信信息,事實(shí)上這三個(gè)月經(jīng)常會(huì)收到這種短信,大約共有30條。)
短信驗(yàn)證碼共有6位,所以,如果是遍歷嘗試,每次輸入正確的概率只有百萬分之一,而正常來說,驗(yàn)證碼輸錯(cuò)次數(shù)過多,應(yīng)該會(huì)有對(duì)應(yīng)的安全處理機(jī)制。此時(shí),我懷疑兩種可能:
1. 短信返回的驗(yàn)證碼并不是完全隨機(jī),而是只在數(shù)據(jù)庫里存了幾千至幾萬個(gè)6位數(shù)字。
如果是這樣,盜號(hào)賊可以編寫軟件,將自己掌握的數(shù)百至數(shù)千個(gè)手機(jī)號(hào)用戶循環(huán)點(diǎn)擊找回密碼,然后每次輸入固定的幾組驗(yàn)證碼。
2. 阿里的驗(yàn)證碼機(jī)制有問題,可以輸錯(cuò)無數(shù)次還能繼續(xù)嘗試。
第一種情況我是沒有辦法證明了,我模擬盜號(hào)者角色,在已知用戶手機(jī)號(hào)的行為下進(jìn)行盜號(hào),去驗(yàn)證第二種情況。
首先,在余額寶手機(jī)客戶端,點(diǎn)擊找回密碼,輸入手機(jī)號(hào),選擇手機(jī)短信驗(yàn)證,點(diǎn)擊發(fā)送短信,然后可以隨意輸入6個(gè)數(shù)字進(jìn)行嘗試,3次輸錯(cuò)后,就無法再驗(yàn)證,需等1分鐘重新發(fā)送驗(yàn)證短信才可以繼續(xù)驗(yàn)證。所以,支付寶的入口是沒有問題的。
然后,使用同樣的手法操作淘寶手機(jī)客戶端,同樣沒有問題。
前兩種入口收到的短信樣式與這幾個(gè)月收到的短信不一樣。
最后,通過電腦端進(jìn)行嘗試。考慮到短信的前綴都是“阿里巴巴”,進(jìn)入阿里巴巴的網(wǎng)站進(jìn)行嘗試。www.1688.com。進(jìn)入后點(diǎn)擊忘記密碼,輸入用戶的電話號(hào)碼,會(huì)出現(xiàn)讓你選擇之前購買過的商品,隨便選錯(cuò)商品,可以再選擇通過手機(jī)校驗(yàn)。點(diǎn)擊發(fā)送短息,收到的短信格式和之前的完全一樣,然后開始隨便輸錯(cuò)多次,發(fā)現(xiàn)即使輸入正確的,也無法校驗(yàn)通過。此時(shí),再點(diǎn)擊發(fā)送短信,這次收到的短信校驗(yàn)碼和之前的一樣。輸入少量幾次錯(cuò)誤的校驗(yàn)碼,再輸入正確的,可以成功進(jìn)入更改密碼頁面!無需輸入原有密碼就可以更改密碼的頁面!
綜上所訴,我可以編寫軟件:
1. 存儲(chǔ)獲得的一萬個(gè)電話號(hào)碼(獲得電話號(hào)的途徑就太多了)。
2. 存儲(chǔ)20個(gè)不同的六位校驗(yàn)碼。
3. 循環(huán)執(zhí)行以下操作:進(jìn)入阿里網(wǎng)站找回密碼的網(wǎng)頁。登錄一個(gè)用戶。隨機(jī)選擇商品進(jìn)入手機(jī)校驗(yàn)頁,輸入五次校驗(yàn)碼,如果錯(cuò)誤,點(diǎn)擊重新發(fā)送短信,再輸五次。如果全部錯(cuò)誤,換一個(gè)用戶再試。以此類推。如果正常,進(jìn)入更改密碼頁面改成自己的驗(yàn)證碼。
4. 所有的用戶循環(huán)執(zhí)行完。明天再執(zhí)行。
這樣,每個(gè)用戶每天最多能收到4條短信息。每天有25分之一的概率破解一個(gè)用戶的密碼。通過這個(gè)用戶存儲(chǔ)的好友信息、地址信息,會(huì)獲得更多用戶的電話號(hào)碼。增大用戶基數(shù),更大概率地破解密碼。
幾個(gè)月前收到了校驗(yàn)碼的短信,我就知道有人在盜號(hào),但是,阿里巴巴沒有任何解決的途徑。十年前的QQ,發(fā)現(xiàn)有人在破解密碼時(shí),可以將自己的密碼更改的更復(fù)雜,避免盜號(hào)。而現(xiàn)在,幾乎用十年前同樣的破解手段,我卻什么也做不了。校驗(yàn)碼號(hào)是簡(jiǎn)單的6位數(shù)字,一共只有100萬種組合,做為用戶我沒有任何權(quán)限去更改校驗(yàn)碼的長(zhǎng)度。我也沒有權(quán)限去禁止他人點(diǎn)擊“找回密碼”。每天收到校驗(yàn)碼短信,我卻無能為力。號(hào)被盜了,數(shù)次播打電話反饋阿里卻無人接聽、或是說我提供的用戶名不存在,不能投訴。
各位如果也遇到這種情況。能做的,只能是將余額寶里的錢轉(zhuǎn)回銀行卡,并解除與銀行卡的綁定。關(guān)閉小額支付功能。
希望阿里的相關(guān)人員可以看到這篇文章,優(yōu)化用戶的安全機(jī)制。
2017.01.12補(bǔ)充:最近支付寶出了驗(yàn)證漏洞事件,回想了一下之前被盜號(hào)的經(jīng)歷,發(fā)現(xiàn)上文所述的盜號(hào)方法還有優(yōu)化空間。“進(jìn)入后點(diǎn)擊忘記密碼,輸入用戶的電話號(hào)碼,會(huì)出現(xiàn)讓你選擇之前購買過的商品,隨便選錯(cuò)商品,可以再選擇通過手機(jī)校驗(yàn)。”中“在輸入用戶電話號(hào)碼后,隨機(jī)選擇商品。”這一步驟可加大重復(fù)次數(shù),也有很大概率猜中已購商品,達(dá)到修改密碼的目的。加此方法,盜號(hào)成功率會(huì)增加很多。