二維碼安全之看我如何登錄你的淘寶賬號(hào)
本文所示漏洞已經(jīng)修復(fù),標(biāo)準(zhǔn)的二維碼登陸流程如下:
- 打開 web 界面進(jìn)入登陸然后加載二維碼。
- 網(wǎng)站開始輪詢,來檢測二維碼狀態(tài)。
- 打開手機(jī) APP 進(jìn)入“掃一掃”,掃描二維碼。
- 網(wǎng)站檢測到二維碼被掃描,進(jìn)入被掃描后的界面,繼續(xù)輪詢來獲取憑證 。
- 手機(jī) APP 進(jìn)入確認(rèn)登陸界面 (當(dāng)點(diǎn)擊確認(rèn)登陸) 網(wǎng)站輪詢結(jié)束獲取到了憑證,進(jìn)入個(gè)人中心;(當(dāng)取消登陸) 網(wǎng)站輪詢設(shè)定時(shí)間自動(dòng)刷新頁面。(調(diào)用 key 大佬的原話)
https://login.taobao.com/member/login.jhtml?style=miniall&from=&newMini2=true
每個(gè)二維碼都有個(gè)相對應(yīng)的 lgToken,只要相對應(yīng)的二維碼被掃描且登錄 ,就可以通過監(jiān)聽 lgToken 的值就可以獲取到該賬號(hào)登錄的權(quán)限。
這里他一直訪問2個(gè)lgToken 的鏈接 ,其中有個(gè)是沒用的。
那怎么判斷哪個(gè)是真確的 ,哪個(gè)是沒用的呢 ,這你需要打開那個(gè)鏈接 。然后,用手機(jī)淘寶掃描那個(gè)二維碼 code 的值變成 10001 就是哪個(gè)。如下圖
一開始code的值都是10000 。 拿二維碼掃描過后,其中一個(gè)鏈接就會(huì)變成10001變成10001的那個(gè)鏈接就是二維碼對應(yīng)的。
點(diǎn)確認(rèn)登錄后。
url相對應(yīng)的那個(gè)鏈接就是登錄淘寶的鏈接。只要復(fù)制那個(gè)url在瀏覽器上打開,就自己登錄淘寶。
可對應(yīng)的問題來了。
- 二維碼太顯眼幾乎沒人會(huì)掃。
- 掃碼后,有個(gè)“您的設(shè)備位于湛江附近登錄”這樣的提示,也壓根就沒人會(huì)點(diǎn)登錄了。
- 二維碼時(shí)間久了會(huì)過期。
問題一、二維碼問題 ,我先將二維碼解碼看看。
發(fā)現(xiàn)是個(gè)鏈接,打開就是淘寶登錄的頁面。
這時(shí),我想到看個(gè)新的玩意“淘口令”。
于是
¥1wbz0I64e5k¥
打開后,和掃描的結(jié)果一樣,證明思路沒錯(cuò)。
可問題二的提醒和問題三的時(shí)間限制沒解決。
于是我想到如果就在本地打開,會(huì)不會(huì)提醒就沒有了。這樣,時(shí)間問題也基本可以解決了。
于是我找到了 二維碼的接口 https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do
于是我寫了個(gè)php文件。
這個(gè)php的作用是打開https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do
獲取里面的二維碼圖片鏈接和獲取二維碼對應(yīng)的lgToken的值,并把lgToken的值保持到tb_Token.txt文件里,并調(diào)用了個(gè)二維碼解碼的圖片接口,把二維碼解碼,隨后頁面跳轉(zhuǎn)到解碼后的 url 地址。
我把這個(gè)php放到我的網(wǎng)站里 http://www.nmd5.com/taobao.php
這樣誰一訪問這個(gè)php頁面,就會(huì)獲取到二維碼相對應(yīng)的lgToken值然后跳轉(zhuǎn)到二維碼解碼后的鏈接。
現(xiàn)在只要把 http://www.nmd5.com/taobao.php轉(zhuǎn)成淘口令就好 。
可是問題又來了 。
淘口令只能支持阿里的url鏈接轉(zhuǎn)換。
于是我想到了url跳轉(zhuǎn)漏洞 。
于是又去找對應(yīng)的鏈接。
http://h5.m.taobao.com/scan/transit-sms.html?url=http://www.nmd5.com/taobao.php
找到了這個(gè)鏈接 。
¥7bRo0I6DBfb¥
復(fù)制淘口令到淘寶 app 里面打開。
這樣只提示了位于附近登錄,這樣就比剛剛那個(gè)好多了。
現(xiàn)在基本滿足要求了 。
現(xiàn)在寫個(gè) php 來幫我檢測對應(yīng)lgToken只要他一點(diǎn)確認(rèn)登錄就能獲取到他的登錄權(quán)限。
通過url的值就可以直接登錄淘寶號(hào)了。