使用 Charles 調試 https 和 Certificate Pinning

最近在開發(fā)一個錢包應用肺孵,為了安全,和服務器的通信都是使用https颜阐,使用https的時候平窘,會有兩個問題,第一個是抓包問題凳怨,第二個是安全問題瑰艘,本文會嘗試討論一下相關問題的解決方法。

抓包問題的解決

調試問題主要分為 https 如何抓包猿棉,這個在 mac 上使用 charles磅叛,windows上使用 findler,本來這個沒啥好寫的萨赁,但是因為在 Android 上搞了幾個小時才搞定弊琴,所以記錄一下遇到的坑。

先來看看效果杖爽,下圖的火幣app的請求


火幣app的https請求

下圖是微信的請求敲董,微信有的數據有特殊的格式紫皇,不是明文


微信有的數據有特殊的格式,不是明文

再看一個微信的明文請求


微信的明文請求

android上遇到的坑

網上大部分的流程如下:

  1. mac 安裝 charles 證書


    安裝證書
  2. mac 上信任證書


    mac上信任證書
  3. 這時候已經可以抓本發(fā)送的https請求了腋寨,設置一下 macOS Proxy


    設置macOS Proxy

由于我們想抓手機或者遠程機器的https聪铺,所以還需要設置一下遠程的機器信任 Charles 證書

  1. 把 Charles 設置為 http,socks 代理


    設置代理
  2. 設置 Charles 攔截的 https 模式


    為了簡便萄窜,全部攔截
  3. 電腦和手機都連接到一個網絡

  4. 手機設置代理铃剔,地址就是剛才 Charles 那邊設置的


    小米mix2設置代理

由于Android每個牌子的手機設置方法不一樣,不知道的可以去網上搜查刻。

  1. 手機安裝 Charles 證書
    這一步也比較坑键兜,我是通過 android studio 把證書文件推到手機的,也可以用adb push穗泵。
    推到手機手普气,我的小米手機并不能安裝,需要開啟一個叫“文檔”的應用佃延,具體方法看這個連接
    開啟“文檔”應用后现诀,就可以“設置 > 更多設置(系統(tǒng)和設備) > 系統(tǒng)安全 > 從存儲設備安裝”

按照道理,這一步走完履肃,完全應該可以抓到手機https的請求了仔沿,但是我的小米mix2是不行的。

  1. App 內配置信任 Charles
    由于我的 App 不知道是什么原因,https 經過Charles后,一直會顯示沒有配置證書融求,我懷疑是我的 App 是只支持 Android6 以上磷蛹,而這個版本以上是不會默認信任系統(tǒng)證書的,所以我只能去在App里面設置信任Charles抖坪。這一步如果哪位大神明確知道原因請留言告訴我萍鲸。


    App沒有使用 Charles 證書發(fā)送請求給代理

至于如何在 App 內部設置使用 Charles 證書,請看這個文檔: security-config

這下終于成功了擦俐。脊阴。。

Certificate Pinning

使用 https 的 App蚯瞧,往往還需要設置一個 Certificate Pinning嘿期,可以進一步增強安全性,基本原理就是埋合,App只信任特定的證書备徐,這樣像 charles 這樣的中間人就沒法劫持數據了。
設置方法可以看如下文檔甚颂。
https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning.
android是需要增加一個network_security_config.xml文件蜜猾。上面security-config的鏈接里面也有說明秀菱。

總結

本文說明如何調試https請求,并用Android的一個App做為demo說明如何配置蹭睡。最后給出了一個增強安全性的方案衍菱,增加Certificate Pinning。
Charles和Findler這一類工具還可以做更多的功能肩豁,比如模擬網絡很慢的情況脊串,修改發(fā)送的數據,性能測試等清钥,是安生立命的好東西 :)琼锋。

參考文檔

https://www.charlesproxy.com/
https://developer.android.com/training/articles/security-config
https://segmentfault.com/a/1190000011573699
https://jingyan.baidu.com/article/acf728fd733db9f8e510a395.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市循捺,隨后出現(xiàn)的幾起案子斩例,更是在濱河造成了極大的恐慌,老刑警劉巖从橘,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件念赶,死亡現(xiàn)場離奇詭異,居然都是意外死亡恰力,警方通過查閱死者的電腦和手機叉谜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踩萎,“玉大人停局,你說我怎么就攤上這事∠愀” “怎么了董栽?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長企孩。 經常有香客問我锭碳,道長,這世上最難降的妖魔是什么勿璃? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任擒抛,我火速辦了婚禮,結果婚禮上补疑,老公的妹妹穿的比我還像新娘歧沪。我一直安慰自己,他們只是感情好莲组,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布诊胞。 她就那樣靜靜地躺著,像睡著了一般胁编。 火紅的嫁衣襯著肌膚如雪厢钧。 梳的紋絲不亂的頭發(fā)上鳞尔,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天,我揣著相機與錄音早直,去河邊找鬼寥假。 笑死,一個胖子當著我的面吹牛霞扬,可吹牛的內容都是我干的糕韧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼喻圃,長吁一口氣:“原來是場噩夢啊……” “哼萤彩!你這毒婦竟也來了?” 一聲冷哼從身側響起斧拍,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤雀扶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肆汹,有當地人在樹林里發(fā)現(xiàn)了一具尸體愚墓,經...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年昂勉,在試婚紗的時候發(fā)現(xiàn)自己被綠了浪册。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡岗照,死狀恐怖村象,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情攒至,我是刑警寧澤厚者,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站迫吐,受9級特大地震影響籍救,放射性物質發(fā)生泄漏。R本人自食惡果不足惜渠抹,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闪萄。 院中可真熱鬧梧却,春花似錦、人聲如沸败去。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圆裕。三九已至广鳍,卻和暖如春荆几,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赊时。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工吨铸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祖秒。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓诞吱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親竭缝。 傳聞我的和親對象是個殘疾皇子房维,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,178評論 25 707
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    wgl0419閱讀 6,285評論 1 9
  • 是男兒總要走向遠方抬纸,走向遠方是為了讓生命更輝煌咙俩。走在崎嶇不平的路上,年輕的眼眸里裝著夢更裝著思想湿故。不論是孤獨地走著...
    二楠閱讀 169評論 0 0
  • 2017.12.05
    4月的小猴子閱讀 207評論 0 0
  • 七月阿趁,一個浪漫的時令,古有女子出門浣紗梳妝選意中人晓锻,是柔服隨風的美好年華歌焦;是七巧女兒的大膽直言;是牛郎織女的七夕相...
    誰知誰癡閱讀 215評論 0 0