1. 程式人生 > >Charles抓包實戰詳解

Charles抓包實戰詳解

用戶名 dev fiddler 環境 下一個 分享圖片 了解 書架 image

訪問我的博客

前言

通過上一篇文章,想必你已經掌握了如何正確安裝抓包神器 Charles,如果還是抓不了包,可以再看看。

今天要做是抓包實戰,因為我在做網絡文學的公司就職,所以就拿網絡文學的 APP 掌閱開刀好了,以下進入抓包實戰,體會 Charles 的強大之處!。

掌握了下面的抓包技巧,對於某些校驗並不是十分嚴格的 APP 來說,破解他們的接口實在是輕而易舉。比如修改個 isVip 參數為 true,就變身超級 VIP等;之前用這套抓包技巧,找了一個網校隨便修改,發現要價上千至上萬的課程竟然可以跳過校驗直接被我播放下載,也是醉了。

希望大家掌握了抓包不要幹違法的事情,本文目的在於讓技術人員了解漏洞,加固校驗,不被他人有機可乘,以免造成公司損失。

測試環境

環境:

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

前提:手機已經連接 Charles 代理,並可以抓取 HTTPS 數據包。

一、Charles 的斷點功能 Breakpoints 實戰

首先登錄掌閱 APP ,清空Charles 的抓包列表,以防止幹擾實驗,然後進入 APP 的個人中心,可以看到圖中圈出的數值,這裏我們對其數值進行修改。
技術分享圖片

此時看到 Charles 的請求列表中出現了 APP 的請求。
技術分享圖片

通過簡單分析,可以知道個人中心的那些數據是從這個請求中獲取到的,那麽我們便修改這個請求,右鍵這個請求,選擇 Breakpoints,這樣就給這個請求加上了斷點。此時切換 App 到 書架再切換回個人中心,會再次發送該請求,Charles 會彈出請求的斷點,因為這裏不需要修改請求參數,直接放行即可,選擇 Execute

;放行後,會再次彈出斷點,此時就是響應返回的斷點了,選擇 Edit Response, 底部選擇 JSON text 可以修改返回值,
技術分享圖片

我這裏把 2 修改成了 2222,修改完之後,點擊Execute,回到 App 發現已經更改了。
技術分享圖片

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

二、Charles 的映射功能 Map 實戰

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

以前用 Fiddler 對於這種響應時間有要求的 App,反正我是束手無策的,APP 總是提示網絡異常,響應超時等。如果是更改一兩個返回值還可以,如果是多個,是真沒轍了,所以 Charles 的 Map 功能是很強大的。

重復上一步,抓到個人中心的數據包,就是這個請求。
技術分享圖片

右鍵選擇 Save Response 到一個文件當中去。
技術分享圖片

再次右鍵,選擇該請求,為了不幹擾實驗,取消勾選上一步中的Breakpoints,然後再右鍵該請求,選擇最下方 Map Local,選擇剛才保存的文件。
技術分享圖片

註意這裏的 Query,因為掌閱 APP 在請求時,附帶了簽名時間戳等參數,這裏設置為 * 之後,就會忽略這些參數。
設置完成後,修改剛才保存的文件,使用 NotePad++ 等編輯器打卡,修改裏面的 JSON 內容。
我改了部分數據,重新進入個人中心,查看 Charles 的請求內容,發現已經修改了
技術分享圖片

同時看 App 的個人中心也已經修改了,可以改很大的值,然後向不懂的人炫耀炫耀了哈哈哈~
技術分享圖片

三、Charles 的 Rewrite 實戰

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

選擇菜單欄 Tools -> Rewrite,選擇開啟 Rewrite, 並添加一條規則。替換 Body 體內的 We Jan 為 CCTV
技術分享圖片

APP再次發起請求,響應如下
技術分享圖片

參考

其實日常中,我們需要用到的地方基本以上三個都可以包含到了,其他深入學習的,可以參考下面的鏈接。

  • http://www.heyuan110.com/2015/08/15/Charles%E8%BE%85%E5%8A%A9%E8%B0%83%E8%AF%95%E6%8E%A5%E5%8F%A3/
  • http://blog.devtang.com/2015/11/14/charles-introduction/

Charles抓包實戰詳解