charles 為什么能抓https的包次乓?原理是什么?

charles 為什么能抓https的包吓歇?原理是什么?

原創(chuàng)?2016年10月18日 19:44:48

標(biāo)簽:

https?/安全?/ios?/android?/抓包

眾所周知,http明文傳輸檬输,https加密就是為了在傳輸層禁止暴露明文照瘾,但是為什么抓包工具又能抓到? 豈不是和https的設(shè)計(jì)矛盾了??

簡(jiǎn)單的說(shuō)就是中間人攻擊,也就是“man-in-the-middle attack”

先來(lái)看一下charles的document:

“Charles can be used as a man-in-the-middle HTTPS proxy, enabling you to view in plain text the communication between web browser and SSL web server.

Charles does this by becoming a man-in-the-middle. Instead of your browser seeing the server’s certificate, Charles dynamically generates a certificate for the server and signs it with its own root certificate (the Charles CA Certificate). Charles receives the server’s certificate, while your browser receives Charles’s certificate. Therefore you will see a security warning, indicating that the root authority is not trusted. If you add the Charles CA Certificate to your trusted certificates you will no longer see any warnings – see below for how to do this.”

先說(shuō)一下https使用的非對(duì)稱(chēng)加密的原理丧慈。等等說(shuō)非對(duì)稱(chēng)加密之前還要說(shuō)下對(duì)稱(chēng)加密的原理析命。簡(jiǎn)單來(lái)說(shuō),對(duì)稱(chēng)加密就是加密解密使用同一個(gè)密鑰逃默。瀏覽器和服務(wù)器交互的話(huà)一般會(huì)動(dòng)態(tài)生成一個(gè)密鑰鹃愤,所以密鑰如何交換就成了問(wèn)題。

下面引入非對(duì)稱(chēng)密鑰完域,非對(duì)稱(chēng)加密主要用于密鑰交換(也叫密鑰協(xié)商)软吐,能夠很好地解決這個(gè)問(wèn)題。瀏覽器和服務(wù)器每次新建會(huì)話(huà)時(shí)都使用非對(duì)稱(chēng)密鑰交換算法協(xié)商出對(duì)稱(chēng)密鑰吟税,使用這些對(duì)稱(chēng)密鑰完成應(yīng)用數(shù)據(jù)的加解密和驗(yàn)證凹耙,整個(gè)會(huì)話(huà)過(guò)程中的密鑰只在內(nèi)存中生成和保存,而且每個(gè)會(huì)話(huà)的對(duì)稱(chēng)密鑰都不相同(除非會(huì)話(huà)復(fù)用)肠仪,中間者無(wú)法竊取肖抱。

密鑰交換過(guò)程:服務(wù)器的公鑰是公開(kāi)的,私鑰是不公開(kāi)的异旧。瀏覽器先向服務(wù)器取得公鑰意述,然后用公鑰加密自己的私鑰連同自己私鑰加密的請(qǐng)求一并發(fā)送給服務(wù)器。服務(wù)器使用自己私鑰解密得到瀏覽器的私鑰,使用瀏覽器的私鑰解密請(qǐng)求荤崇。然后再用瀏覽器的私鑰加密response發(fā)送回瀏覽器(此處之前筆誤寫(xiě)成服務(wù)器了)拌屏。

中間人攻擊是先偽裝服務(wù)器向?yàn)g覽器發(fā)送偽造的公鑰,從而取得瀏覽器的私鑰术荤。這樣就完成的瀏覽器端的解密倚喂。服務(wù)器端類(lèi)似。

但是O裁俊N裉啤雳攘!https是可以防止中間人攻擊的带兜,因?yàn)榉?wù)器的公鑰是用證書(shū)的。charles偽造的證書(shū)一般瀏覽器會(huì)警告吨灭,所以我們需要將charles的證書(shū)認(rèn)為可靠的刚照。從而實(shí)現(xiàn)中間人。

關(guān)于iOS 9的無(wú)法使用Charles抓包的問(wèn)題喧兄。

SSL Proxying with iOS 9

You need to disable App Transport Security in your app to use Charles SSL Proxying with apps running on iOS 9.

To disable ATS you need to add keys to your app's Info.plist file, as below. See thistech note from Applefor more information.

You must remember to re-enable ATS before you release your app to take advantage of the security that ATS provides.

NSAppTransportSecurity

? NSAllowsArbitraryLoads

?

Note that this means that you cannot use Charles to observe SSL traffic from apps that you do not control.

ref:?FAQs ? Charles Web Debugging Proxy

About ATS:Cocoa Keys

簡(jiǎn)單地說(shuō)无畔,iOS的ATS是一種對(duì)安全的加強(qiáng)。在About ATS里面我們可以看到ATS對(duì)證書(shū)的一些限制》驮現(xiàn)在無(wú)法使用Charles浑彰,則是因?yàn)閕OS 9 認(rèn)為這個(gè)連接不安全,目前的解決方案是禁用ATS拯辙。長(zhǎng)遠(yuǎn)來(lái)看郭变,要么Charles的證書(shū)能夠是ATS眼中的『安全證書(shū)』,要么ATS自己修改spec將Charles的證書(shū)認(rèn)為是安全的涯保,但是這兩種方法目前看來(lái)可能還需要一段時(shí)候诉濒。

ok,over夕春。

如滿(mǎn)意求轉(zhuǎn)載注明出處

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末未荒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子及志,更是在濱河造成了極大的恐慌片排,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件速侈,死亡現(xiàn)場(chǎng)離奇詭異率寡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锌畸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)勇劣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事比默』媚螅” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵命咐,是天一觀(guān)的道長(zhǎng)篡九。 經(jīng)常有香客問(wèn)我,道長(zhǎng)醋奠,這世上最難降的妖魔是什么榛臼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮窜司,結(jié)果婚禮上沛善,老公的妹妹穿的比我還像新娘。我一直安慰自己塞祈,他們只是感情好金刁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著议薪,像睡著了一般尤蛮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斯议,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天产捞,我揣著相機(jī)與錄音,去河邊找鬼哼御。 笑死坯临,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的艇搀。 我是一名探鬼主播尿扯,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼焰雕!你這毒婦竟也來(lái)了衷笋?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矩屁,失蹤者是張志新(化名)和其女友劉穎辟宗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吝秕,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泊脐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烁峭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片容客。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秕铛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缩挑,到底是詐尸還是另有隱情但两,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布供置,位于F島的核電站谨湘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏芥丧。R本人自食惡果不足惜紧阔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望续担。 院中可真熱鬧擅耽,春花似錦、人聲如沸赤拒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挎挖。三九已至,卻和暖如春航夺,著一層夾襖步出監(jiān)牢的瞬間蕉朵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工阳掐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留始衅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓缭保,卻偏偏與公主長(zhǎng)得像汛闸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艺骂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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