一驰弄、前言
市面上有很多抓包工具,本文不會教大家如何使用抓包工具去 Crack绣的,那是犯法的事兒叠赐,咱不做;本文使用抓包工具來分析一些應用的接口被辑,例如:測試人員可以利用抓包工具來快速判斷是前端請求問題燎悍,還是后端接口數(shù)據(jù)返回不對敬惦;再或者盼理,我們發(fā)布了App到了市場,用戶下載 / 更新App后俄删,反饋App有bug宏怔,雖然服務端可以查看海量日志,但我們利用抓包工具畴椰,根據(jù)用戶的問題描述臊诊,來復現(xiàn)問題,也能夠極快的定位問題斜脂,并尋找解決方案抓艳。
Windows 有很多抓包工具,例如:Fiddler帚戳,WirShark玷或;而在 Mac 中,比較著名的就是 Charles片任,Charles 支持三個 Windows偏友、Linux 和 Mac。目前对供,大多數(shù)服務端都支持 Https 位他,因此,大部分抓包出來的數(shù)據(jù)都是密文产场,那如何獲取明文數(shù)據(jù)呢鹅髓?
本篇文章是一篇小白文,告訴大家如何安裝 Charles京景,如何通過『中間者』來代理請求窿冯,與服務端進行交互,獲取明文數(shù)據(jù)醋粟。
二靡菇、中間者
中間者在網(wǎng)絡中重归,通常用作數(shù)據(jù)截獲,并竄改數(shù)據(jù)再發(fā)送厦凤,因此鼻吮,可以用作一種網(wǎng)絡攻擊方式〗瞎模『游戲外掛』就是中間者椎木,它作為 Client / Server 之間的中間者,通過竄改 Client 發(fā)送到請求博烂,再發(fā)送到 Server香椎,來欺騙服務端達到一種數(shù)據(jù)竄改的效果。
抓包工具 Charles 就能作為中間者禽篱,當然畜伐,我們不是用來竄改數(shù)據(jù)來欺騙服務端造假,而是為了截獲加密的數(shù)據(jù)躺率,并明文展示出來玛界。但是,這是有幾點我們需要指出(因為中間者不是萬能的悼吱,不是所有情況都能這么干慎框,一定是有一定有bug,我們才能使用這種方式):
Server 端裝有 Https 證書后添,而 Client 端沒有笨枯,且 Client 端是完全信認 Server 端的,并且兩者沒有采用其它的數(shù)據(jù)加密方式遇西,那么馅精,我們可以使用中間者來進行兩者之間的代理交互。
上面這個條件努溃,或者說數(shù)據(jù)安全措施還是比較低的硫嘶,所謂防君子不防小人,如果遇到:『Client 與 Server 之間的數(shù)據(jù)是加密傳輸?shù)奈嗨埃敲次覀兙秃茈y截獲密文』沦疾。兩端數(shù)據(jù)加密的方式就多種,例如:采用 AES(對稱加密)第队、RSA (非對稱加密)或是私有數(shù)據(jù)加密協(xié)議哮塞。
上圖 1 是正常的 Client 與 Server 交互流程,采用了 HTTPS 數(shù)據(jù)加密凳谦;流程 2 加入了 Proxy(中間者)忆畅,通過代理 Client 與 Server 之間的請求與返回,來達到數(shù)據(jù)截獲:
- 對于 Client 尸执,Proxy 相當于 Server家凯,Client 將請求發(fā)送給 Proxy缓醋,Proxy 再轉(zhuǎn)發(fā)給真正的 Server;
- 對于 Server绊诲,Proxy 相當于 Client送粱,Proxy 將數(shù)據(jù)轉(zhuǎn)發(fā)給 Server,Server 再將數(shù)據(jù)返回給 Proxy掂之;
三抗俄、Charles 安裝
3.1、安裝
- 先到官網(wǎng) https://www.charlesproxy.com/latest-release/download.do 下載對應的最新版本世舰;
- 直接安裝动雹,然后去 https://www.charles.ren/ 該網(wǎng)站獲取激活注冊碼(隨意輸入用戶名,生成注冊碼)跟压;
- 在 Charles 工具中完成注冊激活即可胰蝠;
- 啟動 Charles ,軟件會自動彈出對話框『是否根據(jù)系統(tǒng)自動完成配置』裆馒,選擇『是』即可姊氓;
3.2、SSL 配置
選擇『Proxy』-> 『SSL Proxying Settings』喷好,如下圖:
添加 SSL 端口代理,如下圖(點擊 Location 下面的 Add 按鈕读跷,輸入如下):
點擊OK即完成設置梗搅,如下圖(點擊 OK):
3.3、Proxy配置
選擇『Proxy』-> 『Proxy Settings』效览,如下圖:
如下圖配置即可:
3.4无切、安裝 PC 證書
選擇『Install Charles Root Certificate』,點擊后可能有彈出對話框提示丐枉,也可能任何反應都沒有哆键,這時,我們要去 Mac 系統(tǒng)中的
鑰匙串中瘦锹,查找 Charles 證書籍嘹,并設置為完全信認:
雙擊該證書,選擇『始終信認』即可:
3.5弯院、安裝手機證書(以 iPhone 為例)
選擇『Install Charles Root Certificate on a Mobile Device or Remote Browser』辱士,Charles 會彈一個對話提示框:
然后打開手機『設置』-> 『無線局域網(wǎng)』-> 選擇當前連接的WIFI,如下圖操作步驟:
再然后听绳,打開手機瀏覽器颂碘,輸入『chls.pro/ssl』,點擊『前往』:
允許下載配置描述文件椅挣,下載完后头岔,打開手機『設置』塔拳,操作流程如下:
OK,至此峡竣,我們的 Charles蝙斜、PC 證書、手機證書都安裝完成了澎胡!