iOS移動(dòng)端HTTPS抓包

關(guān)于iOS移動(dòng)端HTTPS抓包的教程雌贱,網(wǎng)上有很多确垫,很多是針對(duì)過(guò)時(shí)的平臺(tái)或工具,步驟復(fù)雜帽芽,而且存在安全問(wèn)題。本文介紹截止到2017年末筆者認(rèn)為的最佳實(shí)踐翔冀。方法可遷移到其它工具和平臺(tái)导街。

原料

  1. Mac。本文以MacBook Pro Early 2013纤子,當(dāng)前最新版本macOS High Sierra 10.13.1為例搬瑰。
  2. WiFi或手機(jī)熱點(diǎn)款票。
  3. iOS設(shè)備。本文以iPhone 6泽论,當(dāng)前最新版本iOS 11.1.2為例艾少。
  4. Charles for macOS。本文以當(dāng)前最新版 v4.2.1為例翼悴。官方下載地址: https://www.charlesproxy.com/latest-release/download.do# 缚够。

原理

Mac上的Charles通過(guò)8888端口提供網(wǎng)絡(luò)代理服務(wù)。iPhone通過(guò)該代理訪問(wèn)網(wǎng)絡(luò)鹦赎,其網(wǎng)絡(luò)請(qǐng)求會(huì)被Charles截獲谍椅。對(duì)于未加密的http請(qǐng)求,可以直接看到請(qǐng)求和響應(yīng)的內(nèi)容古话;對(duì)于https雏吭,需要借用“中間人攻擊”的原理( https://en.wikipedia.org/wiki/Man-in-the-middle_attack )實(shí)現(xiàn)請(qǐng)求和響應(yīng)內(nèi)容的查看。

iOS的安全策略能有效阻止中間人攻擊陪踩,因此讓https抓包變得困難杖们。為有意放行Charles進(jìn)行的該“攻擊”,需要給iOS系統(tǒng)安裝一個(gè)根證書(shū)肩狂,讓它告訴系統(tǒng):“相信我摘完,這個(gè)響應(yīng)是合法的,你盡管拿去用婚温∶柩妫”

Charles提供了這樣一個(gè)根證書(shū)。在iOS設(shè)備上添加和信任它即可栅螟。

過(guò)程

  1. Mac和iPhone連接上同一WiFi荆秦。如果WiFi有限制,可以簡(jiǎn)單地用另一部手機(jī)建立熱點(diǎn)力图。連上該WiFi后步绸,Mac和iPhone的IP應(yīng)該在同一網(wǎng)段,形如192.169.43.*吃媒;它們都應(yīng)該可以訪問(wèn)互聯(lián)網(wǎng)或要抓包的目標(biāo)網(wǎng)絡(luò)瓤介。

  2. 在iPhone上設(shè)置所連的WiFi,在“HTTP代理”處選擇“手動(dòng)”配置代理赘那,服務(wù)器設(shè)為Mac的IP地址刑桑,端口設(shè)為8888。

  3. 在Mac上打開(kāi)Charles募舟,它會(huì)在8888端口開(kāi)啟代理服務(wù)祠斧,并在iPhone首次連接時(shí)檢測(cè)到iPhone有請(qǐng)求要經(jīng)過(guò)它(如果有彈出是否允許,選“允許”)拱礁。

  4. 此時(shí)在iPhone上訪問(wèn)網(wǎng)頁(yè)琢锋,Charles會(huì)順序列出所有請(qǐng)求和響應(yīng)辕漂。對(duì)于未加密的http請(qǐng)求,可以直接看到請(qǐng)求和響應(yīng)的內(nèi)容吴超;對(duì)于https钉嘹,走下一步。

  5. 在Mac上的Charles中選擇菜單項(xiàng)"Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser" 鲸阻,彈出提示如:

Configure your device to use Charles as its HTTP proxy on 192.168.43.65:8888, then browse to chls.pro/ssl to download and install the certificate.

Install Charles Root Certificate on a Mobile Device or Remote Browser
  1. 按上述指示跋涣,在iPhone的Safari中訪問(wèn) https://chls.pro/ssl ,如下選擇“允許”赘娄,按提示一步步安裝Charles根證書(shū)仆潮。

    允許安裝Charles根證書(shū)

    安裝Charles根證書(shū)

  2. 在iPhone的 ”設(shè)置 > 通用 > 關(guān)于本機(jī) >(最底下)證書(shū)信息設(shè)置“ 中啟用剛安裝的根證書(shū)。


    啟用Charles根證書(shū)
  3. 之后遣臼,回到Mac上的Charles性置,對(duì)以鎖標(biāo)志的https請(qǐng)求,右鍵選擇“Enable SSL Proxying”揍堰,啟用對(duì)它的“中間人攻擊”鹏浅,即對(duì)流量進(jìn)行SSL“解密-展示-加密”操作,然后就可以看到和操作https流量了屏歹。下圖展示了對(duì)微信公眾號(hào)數(shù)據(jù)進(jìn)行抓包的結(jié)果隐砸。


    微信公眾號(hào)

    對(duì)微信公眾號(hào)數(shù)據(jù)進(jìn)行抓包

總結(jié)

所述方法使用的是最新版本的iOS和Charles,相對(duì)網(wǎng)上大量總結(jié)的舊方法有兩點(diǎn)變化蝙眶。一是iOS的安全性進(jìn)一步提升季希,證書(shū)安裝好后還要在第7步進(jìn)行啟用,這點(diǎn)是以前沒(méi)有的幽纷。二是Charles變得更加好用和安全了式塌,安裝根證書(shū)不再是下載一個(gè)通用版本的根證書(shū),而是每個(gè)Charles安裝副本一個(gè)根證書(shū)友浸,這就避免了安裝通用的根證書(shū)的設(shè)備被其它人進(jìn)行真正的中間人攻擊的可能峰尝,畢竟我們窮,我們的設(shè)備可能無(wú)法做到只專(zhuān)用于開(kāi)發(fā)收恢。

所述方法使用的是Mac+Charles+iOS武学,但思想和過(guò)程可遷移到Win+Fiddler+Android以及類(lèi)似平臺(tái)和工具。

在研究過(guò)程中我們發(fā)現(xiàn)伦意,進(jìn)行了證書(shū)固定的應(yīng)用火窒,上述方法無(wú)能為力,因?yàn)閼?yīng)用根本不相信我們添加的證書(shū)驮肉,即使我們讓系統(tǒng)信任了它沛鸵。可以安全是可以去不斷增強(qiáng)的,關(guān)鍵看成本收益了曲掰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市奈辰,隨后出現(xiàn)的幾起案子栏妖,更是在濱河造成了極大的恐慌,老刑警劉巖奖恰,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吊趾,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瑟啃,警方通過(guò)查閱死者的電腦和手機(jī)论泛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛹屿,“玉大人屁奏,你說(shuō)我怎么就攤上這事〈砀海” “怎么了坟瓢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)犹撒。 經(jīng)常有香客問(wèn)我折联,道長(zhǎng),這世上最難降的妖魔是什么识颊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任诚镰,我火速辦了婚禮,結(jié)果婚禮上祥款,老公的妹妹穿的比我還像新娘清笨。我一直安慰自己,他們只是感情好镰踏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布函筋。 她就那樣靜靜地躺著,像睡著了一般奠伪。 火紅的嫁衣襯著肌膚如雪跌帐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天绊率,我揣著相機(jī)與錄音谨敛,去河邊找鬼。 笑死滤否,一個(gè)胖子當(dāng)著我的面吹牛脸狸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼炊甲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼泥彤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起卿啡,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吟吝,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后颈娜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體剑逃,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年官辽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛹磺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡同仆,死狀恐怖萤捆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乓梨,我是刑警寧澤鳖轰,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站扶镀,受9級(jí)特大地震影響蕴侣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臭觉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一昆雀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝠筑,春花似錦狞膘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至臣镣,卻和暖如春辅愿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忆某。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工点待, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弃舒。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓癞埠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苗踪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 目錄 準(zhǔn)備 分析2.1. 三次握手2.2. 創(chuàng)建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm閱讀 38,040評(píng)論 12 117
  • 抓包分析數(shù)據(jù)在移動(dòng)開(kāi)發(fā)中十分重要通铲,可以幫助我們更快的了解數(shù)據(jù)構(gòu)成瓦呼,提高開(kāi)發(fā)效率。但是在蘋(píng)果要求上線的App必須使用...
    梧雨北辰閱讀 14,748評(píng)論 21 35
  • 租房注意事項(xiàng)测暗,修煉成專(zhuān)業(yè)人士 首次看房: 外部大門(mén) 鎖(把手、順暢度磨澡、更換鎖芯) 衛(wèi)生間 燈 浴霸 ...
    李佳_艾佳閱讀 861評(píng)論 0 1
  • 『羨慕自己』第91天--《施鳴是靈魂們的寵兒稳摄!》 羨慕者:施鳴 地點(diǎn):上海崇明 時(shí)間:2017年10月23日 周一...
    施鳴閱讀 167評(píng)論 0 0
  • 親吻稚字,舌尖觸碰 燃起,迷香般的沉醉 飄飄浮浮 柔軟而又張狂 這就是愛(ài)的味道 手牽手厦酬,低著頭胆描,邁著小步 感受著烈酒渾...
    筆尖下思念bing閱讀 152評(píng)論 0 0