Charles抓包實戰詳解

訪問個人博客網絡

前言

經過上一篇文章,想必你已經掌握瞭如何正確安裝抓包神器 Charles,若是仍是抓不了包,能夠再看看。iphone

今天要作是抓包實戰,由於我在作網絡文學的公司就任,因此就拿網絡文學的 APP 掌閱開刀好了,如下進入抓包實戰,體會 Charles 的強大之處!。編輯器

掌握了下面的抓包技巧,對於某些校驗並非十分嚴格的 APP 來講,破解他們的接口實在是垂手可得。好比修改個 isVip 參數爲 true,就變身超級 VIP等;以前用這套抓包技巧,找了一個網校隨便修改,發現要價上千至上萬的課程居然能夠跳過校驗直接被我播放下載,也是醉了。學習

但願你們掌握了抓包不要幹違法的事情,本文目的在於讓技術人員瞭解漏洞,加固校驗,不被他人有隙可乘,以避免形成公司損失。測試

測試環境

環境:代理

  • Windows
  • Charles
  • iphone 7
  • 掌閱 APP 7.4.2

前提:手機已經鏈接 Charles 代理,並能夠抓取 HTTPS 數據包。blog

1、Charles 的斷點功能 Breakpoints 實戰

首先登陸掌閱 APP ,清空Charles 的抓包列表,以防止干擾實驗,而後進入 APP 的我的中心,能夠看到圖中圈出的數值,這裏咱們對其數值進行修改。
接口

此時看到 Charles 的請求列表中出現了 APP 的請求。
ip

經過簡單分析,能夠知道我的中心的那些數據是從這個請求中獲取到的,那麼咱們便修改這個請求,右鍵這個請求,選擇 Breakpoints,這樣就給這個請求加上了斷點。此時切換 App 到 書架再切換回我的中心,會再次發送該請求,Charles 會彈出請求的斷點,由於這裏不須要修改請求參數,直接放行便可,選擇 Execute;放行後,會再次彈出斷點,此時就是響應返回的斷點了,選擇 Edit Response, 底部選擇 JSON text 能夠修改返回值,
get

我這裏把 2 修改爲了 2222,修改完以後,點擊Execute,回到 App 發現已經更改了。

測試中發現,掌閱 App 的請求時間若是過長,修改以後也會不生效。
這就須要使用 Charles 的下一個牛 X 的功能了,Map 映射,讓 Charles 自動返回咱們想要的返回值。

2、Charles 的映射功能 Map 實戰

上一個實驗進行的時候,若是請求的響應時間過長,掌閱的 App 就會拋棄本次請求的結果,不對數據進行修改,所以咱們須要更快的去修改返回值。

之前用 Fiddler 對於這種響應時間有要求的 App,反正我是一籌莫展的,APP 老是提示網絡異常,響應超時等。若是是更改一兩個返回值還能夠,若是是多個,是真沒轍了,因此 Charles 的 Map 功能是很強大的。

重複上一步,抓到我的中心的數據包,就是這個請求。

右鍵選擇 Save Response 到一個文件當中去。

再次右鍵,選擇該請求,爲了避免干擾實驗,取消勾選上一步中的Breakpoints,而後再右鍵該請求,選擇最下方 Map Local,選擇剛纔保存的文件。

注意這裏的 Query,由於掌閱 APP 在請求時,附帶了簽名時間戳等參數,這裏設置爲 * 以後,就會忽略這些參數。
設置完成後,修改剛纔保存的文件,使用 NotePad++ 等編輯器打卡,修改裏面的 JSON 內容。
我改了部分數據,從新進入我的中心,查看 Charles 的請求內容,發現已經修改了

同時看 App 的我的中心也已經修改了,能夠改很大的值,而後向不懂的人炫耀炫耀了哈哈哈~

3、Charles 的 Rewrite 實戰

Rewrite 是對於 map 功能的一個補充,能夠設置較爲複雜的規則,下面演示替換 Body 內的用戶名稱

選擇菜單欄 Tools -> Rewrite,選擇開啓 Rewrite, 並添加一條規則。替換 Body 體內的 We Jan 爲 CCTV

APP再次發起請求,響應以下

參考

其實平常中,咱們須要用到的地方基本以上三個均可以包含到了,其餘深刻學習的,能夠參考下面的連接。

相關文章
相關標籤/搜索