|
場(chǎng)景 工具準(zhǔn)備 1、方便調(diào)試的瀏覽器。個(gè)人喜歡Chrome,本文基于Chrome 43.0.2357.130 (正式版本) m (32 位)環(huán)境; 2、抓包工具,推薦fiddler4,當(dāng)然你比較喜歡Wireshark的話也可以,反正只要是能抓到cookies就都可以; 3、能編輯cookies的瀏覽器插件。Chrome下我推薦EditThisCookie,Firefox的話試用Firebug自帶的編輯功能即可。 繞過(guò)方法 這里針對(duì)常見(jiàn)的三種限制方法做了分類(不過(guò)我感覺(jué)應(yīng)該也沒(méi)有第四類了),其繞過(guò)方法難度也是逐漸遞增的。下文將從確認(rèn)限制方法以及繞過(guò)限制兩個(gè)角度一一分析。 未做明顯限制 例子:翻滾吧小洛克 檢驗(yàn)方法 手機(jī)里其他瀏覽器也可以打開(kāi)頁(yè)面并正常進(jìn)行頁(yè)面瀏覽 繞過(guò)方法 1、Ctrl+Shift+I打開(kāi)chrome的開(kāi)發(fā)者中心 2、點(diǎn)擊開(kāi)發(fā)者中心工具條右上角的手機(jī)小圖標(biāo),如圖: 3、如果發(fā)現(xiàn)不能模擬觸屏,則是因?yàn)樵O(shè)置里沒(méi)開(kāi),點(diǎn)擊開(kāi)發(fā)者中心工具條右上角的箭頭小圖標(biāo),然后Emulation>Sensors>Emulate touch screen ,將該選項(xiàng)勾上即可。如圖所示: 輕松過(guò)關(guān)。 檢查UA來(lái)限制 例子:多泡游戲-doNotTouchWhite user:duopaotestdadapwd:duopaotest 檢測(cè)方法 手機(jī)瀏覽器打開(kāi)后會(huì)跳轉(zhuǎn)到開(kāi)發(fā)者自己的其余頁(yè)面,或者有彈窗提示,但是不會(huì)跳到open.weixin.qq.com域名去。 看著這種就可以肯定十有八九是基于UA(UserAgent)檢測(cè)了。所以破解方法很簡(jiǎn)單,模擬UA就好。chrome內(nèi)置了這個(gè)功能。 繞過(guò)方法 1、開(kāi)啟瀏覽器的模擬器(方法見(jiàn)上) 2、在模擬器右上角的UA處將以下UA貼進(jìn)去并重新進(jìn)入原頁(yè)面(不直接刷新是因?yàn)橛行╉?yè)面會(huì)根據(jù)UA做跳轉(zhuǎn)) Mozilla/5.0 (Linux; U; Android 4.1.2; zh-cn; Chitanda/Akari) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/6.0.0.58_r884092.501 NetType/WIFI 以上是安卓手機(jī)微信的UA,另附一個(gè)iOS下的UA: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI 一般情況下這兩個(gè)用處都一樣,沒(méi)啥區(qū)別,實(shí)際上根據(jù)大部分前端的習(xí)慣,哪怕UA里只填一個(gè)MicroMessenger字段都是可以繞過(guò)去的。 3、上面的方法雖然可以繞過(guò)限制了,但是終究不方便,每次都要手動(dòng)改一次UA。實(shí)際上較新版的Chrome瀏覽器是可以自定義Device的。點(diǎn)擊開(kāi)發(fā)者中心右上角的齒輪圖標(biāo),然后Devices>Add custom device,即可自行添加一個(gè)帶微信UA的模擬器,然后之后在模擬器界面的Device里切換即可。如圖: 利用微信oauth做限制 例子:拯救太平輪 PS:這里是通用方法,不過(guò)目前針對(duì)微信內(nèi)的頁(yè)面,微信官方有提供調(diào)試支持,可以查看更新的內(nèi)容。 檢測(cè)方法 手機(jī)瀏覽器打開(kāi)后會(huì)跳轉(zhuǎn)到open.weixin.qq.com域名,且頁(yè)面提示請(qǐng)?jiān)谖⑿趴蛻舳舜蜷_(kāi)鏈接。 繞過(guò)方法 將瀏覽器UA改為微信的,然后刷新頁(yè)面,會(huì)發(fā)現(xiàn)這個(gè)時(shí)候不再提示請(qǐng)?jiān)谖⑿趴蛻舳舜蜷_(kāi)鏈接了,但是整個(gè)頁(yè)面一片空白。 打開(kāi)fiddler,并設(shè)置手機(jī)wifi連接,確保手機(jī)數(shù)據(jù)都經(jīng)過(guò)了fiddler。 fiddler的配置可以參考這篇文章,https的兩個(gè)配置必須要做,不然抓不了微信的包,另外如果確定手機(jī)連上了fiddler了但是微信的數(shù)據(jù)包都沒(méi)被抓到,可以先把微信app強(qiáng)行關(guān)閉,然后重新開(kāi)一下即可 在微信里點(diǎn)擊頁(yè)面鏈接,使其正常進(jìn)入頁(yè)面,然后fiddler上注意相關(guān)域名的記錄,找到Tunnel to open.weixin.qq.com后面那條記錄。會(huì)發(fā)現(xiàn)這時(shí)候原來(lái)的鏈接帶上了oauth參數(shù)。復(fù)制這時(shí)候的鏈接 在瀏覽器中打開(kāi)前面復(fù)制的鏈接,會(huì)發(fā)現(xiàn)還是白屏,然后右鍵頁(yè)面,選擇EditThisCookies,會(huì)發(fā)現(xiàn)這個(gè)頁(yè)面下有兩條cookies了。 也可以在開(kāi)發(fā)者工具的Resources>cookies>wxoauth.wucai.com里查看當(dāng)前頁(yè)面擁有的cookies數(shù)量。之所以前面不自己直接創(chuàng)建cookies就是因?yàn)閏ookies除了Value這個(gè)屬性外,還有Domain、Path、Expires/Max-Age等等其余屬性需要設(shè)置,而這些屬性自己是摸不出來(lái)的,只能先依靠頁(yè)面服務(wù)器創(chuàng)建,然后直接更改Value即可。 回到fiddler,還是剛剛選擇的鏈接,右邊窗口選擇Headers,然后會(huì)看到下面有兩條cookies,以及對(duì)應(yīng)的數(shù)值。選中一條,然后右鍵Copy Value only,將值復(fù)制到前面瀏覽器里打開(kāi)的EditThisCookies頁(yè)面中去。如圖: 需要的注意的是,這里復(fù)制出來(lái)的是cookies名稱+cookies值的方式,而EditThisCookies里只需要填cookies值即可,所以復(fù)制進(jìn)去后記得將cookies Name =這一部分刪掉。如下圖所示,綠框里的PHPSESSID=是不需要的,刪掉即可。如圖: 重復(fù)第五步,將全部cookies值都改完之后,回到之前的瀏覽器頁(yè)面,輸入最初的主頁(yè)鏈接,成功。 在微信里的話,認(rèn)證頁(yè)面完成后一般是有跳轉(zhuǎn)的,不過(guò)由于這里是手動(dòng)更改的,所以沒(méi)辦法觸發(fā)跳轉(zhuǎn),需要我們手動(dòng)模擬一次。而前面的cookies在的緣故,頁(yè)面服務(wù)器也會(huì)當(dāng)我們已經(jīng)認(rèn)證過(guò),所以就直接跳過(guò)了。最后成功的截圖: 完成,看起來(lái)很復(fù)雜,其實(shí)也很簡(jiǎn)單。個(gè)人感覺(jué)這個(gè)過(guò)程最麻煩的地方其實(shí)在于第2步:手機(jī)連fiddler需要先斷開(kāi)之前的無(wú)線,手動(dòng)輸一次代理設(shè)置到wifi,然后再連接下。所以我覺(jué)得現(xiàn)在最需要一個(gè)安卓下可以存儲(chǔ)wifi代理鏈接設(shè)置的工具= = 更新 更新于2015-10-12,針對(duì)第三種要openid驗(yàn)證的頁(yè)面: 不喜歡用QQ瀏覽器的話,可以利用官方的tbs插件加上本地inspect的辦法,可以參考此文:微信、手Q、Qzone之x5內(nèi)核inspect調(diào)試解決方案 進(jìn)去后有部分功能無(wú)法正常使用 有時(shí)候會(huì)發(fā)現(xiàn)即使頁(yè)面正常進(jìn)去了,也有些功能不能觸發(fā),比如上傳圖片之類的,但是瀏覽器也沒(méi)有報(bào)錯(cuò)。這種情況下一般多是由于對(duì)方使用了微信的jssdk內(nèi)置方法(wx.xx之類的)。因?yàn)槲⑿艃?nèi)置的方法不是純webview可以完成的,很多功能都需要微信客戶端的配合,因此達(dá)不到預(yù)期的效果也是很正常的??梢钥次⑿舑ssdk的官方demo,你會(huì)發(fā)現(xiàn)基本上沒(méi)一個(gè)可以在PC上用。 其他的,想到再補(bǔ)充吧。 *原創(chuàng)作者:chitanda,來(lái)自FreeBuf黑客與極客(FreeBuf.COM) |
|
|
來(lái)自: 新華書(shū)店好書(shū)榜 > 《‖‖‖微信時(shí)代》