利用微信oauth做限制
例子:拯救太平輪
**由于上面的游戲鏈接已經(jīng)失效,所以換個頁面,類型一致猾瘸,可供各位測試用:幸運大轉盤**
上面兩種都是比較常見而且簡單就能繞過限制的,而有些對用戶身份驗證要求比較高的頁面,則會利用微信的OAUTH來拉取openid做驗證嫁怀,這種就不僅僅是改UA這么容易繞過去了。好在也不是無解借浊。因為身份驗證一般都是存在cookies里的塘淑,所以我們可以直接給PC模擬器偽造cookies來讓頁面誤以為我們是在微信內做的驗證。
PS:
這里是通用方法蚂斤,不過目前針對微信內的頁面存捺,微信官方有提供調試支持,可以查看更新的內容
手機瀏覽器打開后會跳轉到open.weixin.qq.com域名曙蒸,且頁面提示請在微信客戶端打開鏈接.
如圖:
將瀏覽器UA改為微信的捌治,然后刷新頁面,會發(fā)現(xiàn)這個時候不再提示請在微信客戶端打開鏈接了逸爵,但是整個頁面一片空白具滴。
打開fiddler,并設置手機wifi連接师倔,確保手機數(shù)據(jù)都經(jīng)過了fiddler构韵。
fiddler的配置可以參考這篇文章,https的兩個配置必須要做,不然抓不了微信的包趋艘,另外如果確定手機連上了fiddler了但是微信的數(shù)據(jù)包都沒被抓到疲恢,可以先把微信app強行關閉,然后重新開一下即可
以上用手機操作雖然也還可以用瓷胧,但是由于微信推出了官方PC客戶端,加上手機連fiddler操作比較麻煩显拳,從簡單操作的角度考慮建議該步驟參考更新內容,改為用微信PC段打開鏈接較好
在微信里點擊頁面鏈接搓萧,使其正常進入頁面杂数,然后fiddler上注意相關域名的記錄宛畦,找到Tunnel to open.weixin.qq.com后面那條記錄。會發(fā)現(xiàn)這時候原來的鏈接帶上了oauth參數(shù)揍移。復制這時候的鏈接
如圖:
img
發(fā)現(xiàn)我教程沒寫好導致這步卡了很多人——Tunnel to open.weixin.qq.com這條記錄其實不是必須的次和,之所以強調這條是因為這是能找到的第一個帶cookies的頁面,而由于微信的認證機制有時候會改變加上部分頁面請求的微信權限較多那伐,這條請求有時候會被轉移到別的url去踏施,因此更準確的描述是找到打開后的頁面,從中選取cookies即可
在瀏覽器中打開前面復制的鏈接罕邀,會發(fā)現(xiàn)還是白屏畅形,然后右鍵頁面,選擇EditThisCookies诉探,會發(fā)現(xiàn)這個頁面下有兩條cookies了日熬。
也可以在開發(fā)者工具的Resources>cookies>wxoauth.wucai.com里查看當前頁面擁有的cookies數(shù)量。之所以前面不自己直接創(chuàng)建cookies就是因為cookies除了Value這個屬性外肾胯,還有Domain碍遍、Path、Expires/Max-Age等等其余屬性需要設置阳液,而這些屬性自己是摸不出來的怕敬,只能先依靠頁面服務器創(chuàng)建,然后直接更改Value即可
回到fiddler帘皿,還是剛剛選擇的鏈接东跪,右邊窗口選擇Headers,然后會看到下面有兩條cookies鹰溜,以及對應的數(shù)值虽填。選中一條,然后右鍵Copy Value only,將值復制到前面瀏覽器里打開的EditThisCookies頁面中去曹动。如圖:
img
需要的注意的是斋日,這里復制出來的是cookies名稱+cookies值的方式,而EditThisCookies里只需要填cookies值即可墓陈,所以復制進去后記得將cookies Name =這一部分刪掉恶守。如下圖所示,綠框里的PHPSESSID=是不需要的贡必,刪掉即可.如圖:
重復第五步兔港,將全部cookies值都改完之后,回到之前的瀏覽器頁面仔拟,輸入最初的主頁鏈接衫樊,成功。
在微信里的話,認證頁面完成后一般是有跳轉的科侈,不過由于這里是手動更改的载佳,所以沒辦法觸發(fā)跳轉,需要我們手動模擬一次臀栈。而前面的cookies在的緣故刚盈,頁面服務器也會當我們已經(jīng)認證過,所以就直接跳過了挂脑。最后成功的截圖:
完成,看起來很復雜欲侮,其實也很簡單崭闲。個人感覺這個過程最麻煩的地方其實在于第2步:手機連fiddler需要先斷開之前的無線,手動輸一次代理設置到wifi威蕉,然后再連接下刁俭。所以我覺得現(xiàn)在最需要一個安卓下可以存儲wifi代理鏈接設置的工具= =
有時候會發(fā)現(xiàn)即使頁面正常進去了,也有些功能不能觸發(fā)韧涨,比如上傳圖片之類的牍戚,但是瀏覽器也沒有報錯。這種情況下一般多是由于對方使用了微信的jssdk內置方法(wx.xx之類的)虑粥。因為微信內置的方法不是純webview可以完成的如孝,很多功能都需要微信客戶端的配合,因此達不到預期的效果也是很正常的娩贷〉谖可以看微信jssdk的官方demo,你會發(fā)現(xiàn)基本上沒一個可以在PC上用彬祖。
其他的茁瘦,想到再補充吧。
作者:chaos4fun
鏈接:http://www.reibang.com/p/44a9be14e797
來源:簡書
簡書著作權歸作者所有储笑,任何形式的轉載都請聯(lián)系作者獲得授權并注明出處甜熔。