====================
標準的二維碼登陸流程如下:
打開web界面進入登陸然後加載二維碼
網站開始輪詢,來檢測二維碼狀態
打開手機APP進入」掃一掃」,掃描二維碼
網站檢測到二維碼被掃描,進入被掃描後的界面,繼續輪詢來獲取憑證
手機APP進入確認登陸界面 (當點擊確認登陸)網站輪詢結束獲取到了憑證,進入個人中心;(當取消登陸)網站輪詢設定時間自動刷新頁面。
====================
https://login.taobao.com/member/login.jhtml?style=miniall&from=&newMini2=true
https://qrlogin.taobao.com/qrcodelogin/qrcodeLoginCheck.do?lgToken=xxxxxxxxxx&defaulturl=&_ksTS=1523776773834_118&callback=jsonp119
每個二維碼都有個相對應的lgToken 只要相對應的二維碼被掃描且登錄 就可以通過監聽lgToken的值 就可以獲取到該帳號登錄的權限
這裡他一直訪問2個lgToken的連結 其中有個是沒用的
那怎麼判斷哪個是真確的 哪個是沒用的呢 這你需要打開那個連結 然後 用手機淘寶掃描那個二維碼 code的值變成10001 就是哪個 如下圖
一開始code的值都是10000 拿二維碼掃描過後 其中一個連結就會變成10001 變成10001的那個連結 就是二維碼對應的
點確認登錄後
url相對應的那個連結就是登錄淘寶的連結 只要複製那個url在瀏覽器上打開 就自己登錄淘寶
可對應的問題來了
1、二維碼太顯眼幾乎沒人會掃
2、掃碼後 有個 您的設備位於湛江附近登錄 這樣的提示 也壓根就沒人會點登錄了
3、二維碼時間久了會過期
問題一 二維碼問題 我先將二維碼解碼看看
發現是個連結 打開就是淘寶登錄的頁面
這時 我想到看個新的玩意 淘口令
於是
¥1wbz0I64e5k¥
打開後 和掃描的結果一樣 證明思路沒錯
可問題二的提醒 和問題三的時間限制沒解決
於是我想到 如果就在本地打開 會不會提醒就沒有了 這樣 時間問題 也基本可以解決了
於是我找到了 二維碼的接口 https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do
於是我寫了個php文件
這個php的作用是打開https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do
獲取裡面的二維碼圖片連結 和獲取二維碼對應的lgToken的值 並把lgToken的值保持到tb_Token.txt文件裡 並調用了個二維碼解碼的圖片接口 把二維碼解碼 最後頁面跳轉到解碼後的url地址
我把這個php放到我的網站裡 http://www.nmd5.com/taobao.php
這樣誰一訪問這個php頁面 就會獲取到二維碼相對應的lgToken值 然後跳轉到二維碼解碼後的連結
現在只要把 http://www.nmd5.com/taobao.php轉成淘口令就好
可是問題又來了
淘口令只能 支持阿里的url連結轉換
於是我想到了url跳轉漏洞
於是又去找對應的連結
http://h5.m.taobao.com/scan/transit-sms.html?url=http://www.nmd5.com/taobao.php
找到了這個連結
¥7bRo0I6DBfb¥
複製淘口令 到淘寶app裡面打開
這樣只提示了位於附近登錄 這樣就比剛剛那個好多了
現在基本滿足要求了
現在寫個php 來幫我檢測對應lgToken 只要他一點確認登錄 就能獲取到他的登錄權限
通過url的值 就可以直接登錄淘寶號了
所以 最後的攻擊成本 就是一個淘口令 ¥7bRo0I6DBfb¥ 只要他打開 並點確認登錄 我就能拿到他的帳號權限
作者:算命縖子
(文章轉載請註明來自:IT同路人論壇)
長按二維碼識別關注
「IT同路人」微信公眾號
投稿郵箱:call@shgcx.org