成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

以羊了個羊為例,淺談小程序抓包與響應報文篡改

開發 前端
在前面的文章中,我們一起制作了一個天眼查小程序,其中涉及到了微信小程序的抓取過程,應眾多讀者的要求,今天我們一起來看看微信小程序的抓包流程。

本來是想以天眼查小程序作為抓包主體的,但是這兩天羊了個羊實在是太火了,沒辦法,咱們也來追一追熱點,今天我們的目標程序就是羊了個羊了!

而且從9月20號的某個時刻開始,羊了個羊的接口正式進入到V2時代,也就是相關的通關接口進行了加密處理,請求時需要攜帶參數MatchPlayInfo,而該參數又是通過JavaScript的混淆代碼來處理的,所以導致一鍵通過程序都失效了,那么咱們只能另尋出路了,修改 response 響應消息的方法也就應運而生!

MitmProxy 的使用

我們這里使用的抓包程序是 MitmProxy,這是一個用 Python 編寫的工具,其安裝使用簡單,而且通過與自定義的 Python 腳本相結合,可以非常方便的篡改 request 和 response 內容

安裝配置 MitmProxy

安裝非常簡單,直接 pip 即可

pip install mitmproxy

完成安裝之后,我們就可以通過命令 mitmdump  來啟動了

可以看到,以上面的命令啟動之后,會在本地啟動一個監聽了8080端口的程序,這個就是我們的抓包代理進程了

設置手機代理

這里我們需要保證手機與電腦處于同一個 WiFi 網絡之中,我們通過命令 ipconfig 獲取電腦的 IP 地址

然后我們進入手機的無線局域網設置當中,選擇當前連接的 WiFi,進行 HTTP 代碼設置

圖片

在代理設置中,服務器填寫電腦的 IP 地址,端口填寫 8080。

圖片

這樣代理就設置好了。

安裝證書

為了讓手機信任我們的代理,還需要安裝證書,通過手機瀏覽器訪問地址:http://mitm.it/。

圖片

我們選擇對應的設備證書下載,比如 Apple 證書。

下載完成后,通過設置,“已下載描述文件”進入安裝即可。

圖片

至此,MitmProxy 以及手機側的配置都已經完成,我們可以進行抓包操作了。

抓包操作

我們通過手機打開《羊了個羊》小程序,如果我們運行 mitmdump 命令的界面有數據包打印,那么就說明我們的配置是成功的

圖片

下面我們來編寫 Python 腳本,來修改 response 內容。

修改 response

通過抓包信息分析,我們知道返回地圖的接口是 map_info_ex 接口,其響應消息體的內容為:

{"err_code":0,"err_msg":"","data":
{"map_md5":["046ef1bab26e5b9bfe2473ded237b572","046ef1bab26e5b9bfe2473ded237b572"],
"map_seed":[3622853803,3053757364,32667028,3621470055]}}

我們只需要把 map_md5 中的第二個值改為與第一個值一致就可以達到第二關的難度與第一關一樣的效果,下面就開始干吧~

對于 MitmProxy 工具而言,我們有如下事件可以截取。

針對 HTTP 生命周期的事件:

  • 請求:def request(self, flow: mitmproxy.http.HTTPFlow):
  • 響應:def response(self, flow: mitmproxy.http.HTTPFlow):
  • 其它:
  • def http_connect(self, flow: mitmproxy.http.HTTPFlow):
  • def requestheaders(self, flow: mitmproxy.http.HTTPFlow):
  • def responseheaders(self, flow: mitmproxy.http.HTTPFlow):
  • def error(self, flow: mitmproxy.http.HTTPFlow):

這里我們主要用到了響應事件,代碼如下

def response(flow):
tmp_txt = {"err_code":0,"err_msg":"","data":
{"map_md5":["046ef1bab26e5b9bfe2473ded237b572","046ef1bab26e5b9bfe2473ded237b572"],
"map_seed":[3622853803,3053757364,32667028,3621470055]}}
if "map_info_ex" in flow.request.url:
info(str(response.text))
print(type(tmp_txt))
print(type(json.dumps(tmp_txt)))
response.set_text(json.dumps(tmp_txt))
info(str(response.text))

我們判斷請求 url 中是否包含 map_info_ex,如果包含,則篡改 response 信息。

下面我們以如下命令重新啟動代理程序。

圖片

這樣,當我通過第一關之后,進入第二關時,其難度還是與第一關一樣的,怎么樣,開心吧!

當然我們還可以篡改其他接口,比如 rank 接口,話題接口等等,都可以輕松達到我們想要的目的,就不再一一贅述了

好了,這就是今天分享的全部內容。

責任編輯:華軒 來源: 蘿卜大雜燴
相關推薦

2022-10-21 15:35:58

游戲開發鴻蒙

2022-10-10 14:57:09

NP游戲

2022-09-27 16:03:51

羊了個羊鴻蒙

2022-09-19 16:31:14

游戲益智游戲機

2022-09-26 08:30:41

黑客網絡攻擊隱私

2015-01-27 14:47:52

http協議

2022-09-20 15:24:09

程序員項目

2015-08-12 16:32:34

華為/物聯網

2022-03-16 09:49:54

機器人AI技術

2020-01-07 09:29:05

Serverless無服務器案例

2010-02-03 13:25:34

云計算

2023-05-22 09:28:30

模型AI

2022-09-26 07:25:25

Java 19C++二維碼

2022-10-31 06:00:00

華為亞馬遜Chrome

2021-07-14 13:12:51

2013-07-29 15:58:28

大數據數據分析

2021-03-05 06:25:19

fiddler微信公眾號小程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美精品一区 | 国产免费一区二区 | 国产精品一区二区不卡 | 久久久精品网 | 久久99精品久久 | 欧美视频二区 | av黄色在线 | 黄色成人免费在线观看 | 久久精品综合 | 久久出精品 | www日本高清视频 | 精品一区二区三区不卡 | 成人午夜在线观看 | 日韩在线欧美 | 国产视频久 | 婷婷成人在线 | 国产色99精品9i | 久久一区二区三区免费 | 国产真实乱对白精彩久久小说 | 粉嫩国产精品一区二区在线观看 | 91精品国产91久久久久青草 | 欧美一区二区三区在线观看 | 精品蜜桃一区二区三区 | 欧美精品一区二区三区在线播放 | 九九热在线观看视频 | 国产一级片久久久 | 久久在线视频 | 黑人精品欧美一区二区蜜桃 | 中文无码日韩欧 | 91精品国产综合久久精品 | 精品国产91乱码一区二区三区 | 久久99精品久久久97夜夜嗨 | 中文成人无字幕乱码精品 | 久久精品福利视频 | 国产欧美一区二区三区在线看 | 国产成人91视频 | 黄色在线观看 | 午夜视频在线观看一区二区 | 成人av电影网| 韩日中文字幕 | 在线观看www视频 |