不越獄能抓到 HTTPS 嗎?在未越獄 iPhone 上抓取 HTTPS

這個(gè)問(wèn)題在 iOS 調(diào)試中反復(fù)出現(xiàn)。

很多人聽(tīng)到“HTTPS”“證書(shū)校驗(yàn)”“SSL Pinning”,第一反應(yīng)就是,是不是必須越獄?

這篇文章在不越獄設(shè)備上分別測(cè)試三種情況:

  • 普通 HTTPS
  • 啟用證書(shū)校驗(yàn)的 App
  • 啟用雙向認(rèn)證的 App

環(huán)境:

  • iPhone(未越獄)
  • 一臺(tái) Windows + 一臺(tái) Mac
  • 代理工具(Charles / Proxyman)
  • 設(shè)備本機(jī)抓包工具 SniffMaster

一、代理抓包:不越獄的第一條路徑

先測(cè)試最基礎(chǔ)的方式:代理抓包。

操作步驟

  1. 啟動(dòng) Charles(或 Proxyman)
  2. 確認(rèn)代理端口正在監(jiān)聽(tīng)
  3. iPhone 與電腦連接同一 Wi-Fi
  4. 在 iPhone 的 Wi-Fi 設(shè)置中填寫(xiě)代理地址與端口
  5. 在手機(jī)上安裝并信任證書(shū)
  6. 用 Safari 打開(kāi)一個(gè) HTTPS 網(wǎng)站

如果 Safari 能完整顯示請(qǐng)求和響應(yīng),說(shuō)明:

  • 代理路徑?jīng)]問(wèn)題
  • HTTPS 解密生效
  • 不需要越獄

二、普通 App 的 HTTPS 測(cè)試

在同樣的代理環(huán)境下,打開(kāi)一個(gè)普通測(cè)試 App。

結(jié)果:

  • 請(qǐng)求可以出現(xiàn)在 Charles 中
  • HTTPS 內(nèi)容可正常解密
  • 請(qǐng)求體與響應(yīng)體完整

這一步可以確認(rèn)在未啟用額外安全校驗(yàn)的情況下,不越獄完全可以抓到 HTTPS。


三、遇到證書(shū)校驗(yàn)(SSL Pinning)

接下來(lái)測(cè)試一個(gè)啟用了證書(shū)校驗(yàn)的 App。

操作保持不變,只替換測(cè)試 App。

現(xiàn)象:

  • App 提示網(wǎng)絡(luò)錯(cuò)誤
  • Charles 中只出現(xiàn)握手失敗或無(wú)請(qǐng)求記錄

代理路徑仍然有效,Safari 仍然可以抓到數(shù)據(jù)。

說(shuō)明:

  • 阻斷發(fā)生在 App 內(nèi)部
  • 系統(tǒng)信任代理證書(shū)不代表 App 會(huì)信任

在這里繼續(xù)重復(fù)安裝證書(shū)不會(huì)改變結(jié)果。


四、是否必須越獄才能繼續(xù)?

不越獄依然有兩種路徑可以嘗試。

路徑一:分析握手層

可以通過(guò)底層抓包確認(rèn):

  • 是否存在 TLS ClientHello
  • 是否建立 TCP 連接

如果 TLS 握手存在,說(shuō)明流量確實(shí)發(fā)出,只是代理無(wú)法接管。


路徑二:設(shè)備本機(jī)抓包

這里切換抓包方式。

使用 SniffMaster 進(jìn)行設(shè)備本機(jī) HTTPS 抓包

SniffMaster 支持通過(guò) USB 在電腦上直接抓取 iOS 設(shè)備流量。

操作步驟

  1. 用 USB 將 iPhone 連接電腦
  2. 保持設(shè)備解鎖并點(diǎn)擊“信任此電腦”
  3. 啟動(dòng) SniffMaster
  4. 在設(shè)備列表中選擇對(duì)應(yīng) iPhone
  5. 按提示安裝驅(qū)動(dòng)與描述文件
  6. 進(jìn)入 HTTPS 暴力抓包模式
  7. 點(diǎn)擊開(kāi)始
  8. 觸發(fā) App 請(qǐng)求

沒(méi)有配置 Wi-Fi 代理,也沒(méi)有安裝代理證書(shū)。


暴力抓包

五、證書(shū)校驗(yàn) App 的抓包結(jié)果

在設(shè)備抓包模式下測(cè)試同一個(gè)啟用證書(shū)校驗(yàn)的 App。

結(jié)果:

  • 請(qǐng)求可以看到
  • HTTPS 內(nèi)容顯示正常
  • 未出現(xiàn)握手失敗

區(qū)別來(lái)自抓包場(chǎng)景。

代理模式依賴替換證書(shū),設(shè)備直接抓包不依賴中間人證書(shū)。


六、當(dāng)請(qǐng)求體為空時(shí)的判斷

如果抓到的 HTTPS 中:

  • URL 可見(jiàn)
  • Header 可見(jiàn)
  • Body 為空

這與越獄無(wú)關(guān),而與簽名有關(guān)。

若測(cè)試的是 App Store 下載的應(yīng)用,需要:

  1. 獲取 IPA
  2. 使用 iOS 開(kāi)發(fā)證書(shū)重簽
  3. 重新安裝
  4. 再次抓包

完成后,請(qǐng)求體與響應(yīng)體可完整顯示。


七、雙向認(rèn)證(mTLS)的測(cè)試

在雙向認(rèn)證場(chǎng)景中:

  • 代理抓包會(huì)在握手階段失敗
  • 設(shè)備級(jí)抓包仍可觀察到 TLS 會(huì)話

關(guān)鍵點(diǎn)是抓包工具是否依賴代理替換證書(shū)

參考鏈接:https://www.sniffmaster.net/tutorial/zh/2/2.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容