使用charles嗅探https請求,你的API並不安全

扣丁禪師發表於2020-10-20

1、準備 root 過的 android 手機,關於自己手機root方法,自行查詢解決。

adb root
adb disable-verity

2、並重新掛載分割槽,使系統根目錄可寫入

adb shell "mount -o rw,remount /system"

使用charles嗅探https請求,你的API並不安全

根據圖示選單選擇匯出,證照密碼通過後面的 View Generated SSL Certificates Keystore Password 檢視。

2、檢視證照的 hash 值

$ openssl x509 -inform PEM -subject_hash_old -in ~/Downloads/charles-proxy-ssl-proxying-certificate.pem |head -1

26f93358

3、證照重新命名為 {hash}.0

mv ~/Downloads/charles-proxy-ssl-proxying-certificate.pem 26f93358.0

4、上傳證照到手機裡的 /system/etc/security/cacerts 目錄下

adb push 26f93358.0 /system/etc/security/cacerts

adb shell "chmod 664 /system/etc/security/cacerts/26f93358.0"

5、重啟手機

charles 左側選中域名,開啟 SSL代理(Enable SSL Proxying)

使用charles嗅探https請求,你的API並不安全

iOS 只需要手動安裝證照,並授權即可,比 Android 要簡單。

從 android 10 開始,針對 /system 分割槽多了一層保護,不能直接寫入,暫時還沒有找到解決方案,如果有知情的大牛歡迎給出解決方案。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章