成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

我們來一起說說HTTPS中間人攻擊與證書校驗

2021-02-20    分類: 網(wǎng)站建設(shè)

一、前言

隨著安全的普及,https通信應(yīng)用越發(fā)廣泛,但是由于對https不熟悉導(dǎo)致開發(fā)人員頻繁錯誤的使用https,例如最常見的是未校驗https證書從而導(dǎo)致“中間人攻擊”,并且由于修復(fù)方案也一直是個坑,導(dǎo)致修復(fù)這個問題時踩各種坑,故謹(jǐn)以此文簡單的介紹相關(guān)問題。

本文第一節(jié)主要講述https的握手過程,第二節(jié)主要講述常見的“https中間人攻擊”場景,第三節(jié)主要介紹證書校驗修復(fù)方案,各位看官可根據(jù)自己口味瀏覽。

二、HTTPS握手過程

wKioL1jQ0TDSCF9YAAOqkzFkO04037.jpg

? ? 首先來看下https的工作原理,上圖大致介紹了https的握手流程,后續(xù)我們通過抓包看下每個握手包到底干了些什么神奇的事。

? ? 注:本文所有內(nèi)容以TLS_RSA_WITH_AES_128_CBC_SHA加密組件作為基礎(chǔ)進(jìn)行說明,其他加密組件以及TLS版本會存在一定差異,例如TLS1. 3 針對移動客戶端有了很大的改動,現(xiàn)在的ECDHE等密鑰交換算法與RSA作為密鑰交換算法也完全不一樣,所以有些地方和大家實際操作會存在一定出入。

1.TCP三次握手

? ? 我訪問的支付寶的官網(wǎng)www.alipay.com抓取的數(shù)據(jù)。

wKiom1jQ0gqyHDw3AAIbuOpSblw910.jpg

2.Client Hello

wKiom1jQ3UHzO_kBAAFSTy1NKhE603.png

? ? ?TLS的版本號和隨機(jī)數(shù)random_c:這個是用來生成最后加密密鑰的因子之一,它包含兩部分,時間戳和隨機(jī)數(shù) session-id:用來標(biāo)識會話,第一次握手時為空,如果以前建立過,可以直接帶過去從而避免完全握手 Cipher Suites加密組件列表:瀏覽器所支持的加密算法的清單客戶端支持的加密簽名算法的列表,讓服務(wù)器進(jìn)行選擇 擴(kuò)展字段:比如密碼交換算法的參數(shù)、請求主機(jī)的名字,用于單ip多域名的情況指定域名

3.Sever Hello

wKiom1jQ1vSjB4rkAAEniwyCJJc540.png

? ? 隨機(jī)數(shù)rando_s,這個是用來生成最后加密密鑰的因子之一,包含兩部分,時間戳和隨機(jī)數(shù) 32 字節(jié)的SID,在我們想要重新連接到該站點的時候可以避免一整套握手過程。 在客戶端提供的加密組件中,服務(wù)器選擇了TLS_RSA_WITH_AES_128_CBC_SHA組件。

4.Certificate

wKioL1jQ19LC5P1rAAFRYccKCTs243.png

? ? 證書是https里非常重要的主體,可用來識別對方是否可信,以及用其公鑰做密鑰交換。可以看見證書里面包含證書的頒發(fā)者,證書的使用者,證書的公鑰,頒發(fā)者的簽名等信息。其中Issuer Name是簽發(fā)此證書的CA名稱,用來指定簽發(fā)證書的CA的可識別的唯一名稱(DN, Distinguished Name),用于證書鏈的認(rèn)證,這樣通過各級實體證書的驗證,逐漸上溯到鏈的終止點,即可信任的根CA,如果到達(dá)終點在自己的信任列表內(nèi)未發(fā)現(xiàn)可信任的CA則認(rèn)為此證書不可信。

? ? 驗證證書鏈的時候,用上一級的公鑰對證書里的簽名進(jìn)行解密,還原對應(yīng)的摘要值,再使用證書信息計算證書的摘要值,最后通過對比兩個摘要值是否相等,如果不相等則認(rèn)為該證書不可信,如果相等則認(rèn)為該級證書鏈正確,以此類推對整個證書鏈進(jìn)行校驗。

wKioL1jQ2HfgI-EJAAHv9sesa5w340.jpg

? ?二級機(jī)構(gòu)的證書。

wKioL1jQ2YWDc5YmAABPF3Cf72U600.png

三、中間人攻擊

? ? https握手過程的證書校驗環(huán)節(jié)就是為了識別證書的有效性唯一性等等,所以嚴(yán)格意義上來說https下不存在中間人攻擊,存在中間人攻擊的前提條件是沒有嚴(yán)格的對證書進(jìn)行校驗,或者人為的信任偽造證書,下面一起看下幾種常見的https“中間人攻擊”場景。

1.證書未校驗

? ? 由于客戶端沒有做任何的證書校驗,所以此時隨意一張證書都可以進(jìn)行中間人攻擊,可以使用burp里的這個模塊進(jìn)行中間人攻擊。

wKiom1jQ4r6hr1TIAAFmXIM3NGk336.jpg

? ? 通過瀏覽器查看實際的https證書,是一個自簽名的偽造證書。

wKioL1jQ4wLgdrFbAAHNqwQQY3k355.jpg

2.部分校驗

? 做了部分校驗,例如在證書校驗過程中只做了證書域名是否匹配的校驗,可以使用burp的如下模塊生成任意域名的偽造證書進(jìn)行中間人攻擊。

wKioL1jQ4zfAxNX2AAF0fUR50IE281.jpg

? ? 實際生成的證書效果,如果只做了域名、證書是否過期等校驗可輕松進(jìn)行中間人攻擊(由于chrome是做了證書校驗的所以會提示證書不可信任)。

wKiom1jQ40_AZx3TAAGxytrHkBs843.jpg

標(biāo)題名稱:我們來一起說說HTTPS中間人攻擊與證書校驗
標(biāo)題URL:http://jinyejixie.com/news14/101964.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT網(wǎng)站營銷、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
综艺| 台江县| 大关县| 甘谷县| 大洼县| 东平县| 宁津县| 逊克县| 额济纳旗| 阿荣旗| 赞皇县| 任丘市| 新河县| 昌平区| 宣汉县| 清流县| 涞水县| 南召县| 三明市| 定襄县| 阳东县| 科技| 鹤壁市| 乌审旗| 芦溪县| 喀什市| 瓦房店市| 达孜县| 连南| 卢龙县| 铁岭市| 长岭县| 布拖县| 遵义县| 康定县| 兴安县| 华容县| 汝阳县| 济阳县| 分宜县| 滦南县|