99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁大數據時代在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
2021-01-18
收藏

來源:麥叔編程

作者:麥叔

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

一、張三被勒索

張三去某地旅游,在一個小酒店入住。酒店很便宜,一天只要80元,但看著有點像黑店?。?

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

不過張三是誰,闖蕩江湖這么多年,who怕who?。?

晚上百無聊賴,他連上酒店的wifi,先上銀行網站給爸媽轉了1000塊錢,這是這個月的生活費。張三是個孝順兒子!

然后他鬼使神差的打開了一個小電影網站,欣賞了幾個動作片,放松一下。

第二天結賬的時候,賬單嚇了張三一跳:1800!

什么?明明是80?。±习宀痪o不慢的說:其中1720是保密費。你是不是上了一些不該上的網站?然后老板展示了幾張圖片,正是張三看過的動作片中的截圖。

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

張三很火,但是也很擔心:勒索1800塊錢是小事,我昨天還做了銀行轉賬,不會把我的賬號密碼拿去,把我的錢都給轉走了吧?里面還有今年辛辛苦苦賺來的2萬多塊錢!

打工人不容易?。?

他趕緊拿出手機,關掉wifi連接,用流量查了一下余額。還好,錢還在!

為什么老板因為小電影勒索他,而不竊取他的銀行卡密碼呢?

原因是:張三上的銀行網站使用了HTTPS加密:

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

而小電影網站沒有用HTTPS,所以可以被酒店的WIFI捕獲所有發(fā)送的信息。

沒有使用HTTPS的網站類似這樣:

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

我也很震驚,這個china.com竟然沒有HTTPS。實際上很多正規(guī)的小電影網站都是HTTPS的,不信你去看看。

這樣的真實事情,每天都發(fā)生在世界的各地!

你永遠不知道你會不會成為下一個目標。所以認真讀完這篇文章,你就不會成為受害者。

二、中間人劫持

張三正是遭受常見的網絡陷阱:中間人劫持。大致過程是這樣的:

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

張三通過酒店WIFI上網的過程是這樣的:

  1. 瀏覽器發(fā)送消息給酒店WIFI
  2. 酒店WIFI發(fā)送消息給網站。
  3. 網站把內容發(fā)送給WIFI。
  4. WIFI把網站內容發(fā)給瀏覽器。

在這個過程中WIFI就是中間人。實際上瀏覽器和網站中間還有很多中間人,比如運行商。

網站如果沒有HTTPS網站,發(fā)送的信息都明文的,類似這樣的文字:

在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

傳了什么消息,中間人看的一清二楚。一旦遭受中間人劫持,中間人可以做很多事情:

  • 監(jiān)控你的行為,然后勒索你,就像張三這樣的情況
  • 在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
  • 篡改你的發(fā)送信息:
  • 你本來要給李四轉賬1000中間人修改成給他自己轉賬10萬。

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
  • 記錄你的銀行卡密碼,朋友聊天記錄等
  • 請大家注意,這里要害你的不是網站,而是中間人。中間人不光害你,他們也害網站。所以你和網站都是受害者!

    如果你上了黑心網站,詐騙你的錢財,那是網站的問題,不是中間人的問題,那是另外一套詐騙方式了。

    為了解決中間人劫持的問題,網站可以使用HTTPS,強迫瀏覽器和網站的通信加密。這個過程變成了這樣:

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

    雖然信息發(fā)送還是要經過酒店WIFI,但發(fā)送的都是密文,酒店WIFI看不懂,只能簡單的幫你轉發(fā),什么事情都做不了。

    如果你是沖著小電影來的吃瓜群眾,就記住下面的結論:

    1. 使用公共WIFI的時候盡量不要上非HTTPS的網站,地址欄帶小鎖的網站才是安全的。
    2. 如果你必須得上,不要傳敏感的信息。假設WIFI的老板知道你的一切網絡活動。
    3. 在家是不是就可以不用在意HTTPS?還是要注意!雖然WIFI是你的,但你和網站中間仍然有很多中間人,比如運行商。

    這真的很重要,請轉發(fā)給需要的人,讓社會少一分傷害!

    三、技術原理

    大致的原理前面已經講清楚了,簡單來說就是加密。但這里還有很多細節(jié)。

    1. 用同一套密碼做加密 - 對稱加密

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

    瀏覽器和服務器擁有同一套秘鑰來加密和解密。瀏覽器發(fā)送消息之前先加密,服務器收到密文后用同一套秘鑰解密。

    但這里的問題是:

  • 瀏覽器怎么知道秘鑰是什么?
  • 如果瀏覽器可以從網站獲取秘鑰,那中間人也可以輕松獲取秘鑰!
  • 所以為了加密要先解決秘鑰的交換問題。

    2. 用非對稱加密方式協商密碼 - 公鑰加密

    還好有數學家研究出了一個加密算法,叫做公鑰加密。公鑰加密有兩把鑰匙:

  • 一把是公開的,所有人都可以獲取
  • 一把是私有的,只有網站自己知道
  • 這兩把鑰匙的神奇之處在于:

  • 用公開鑰匙加密,只有私有鑰匙才能解密
  • 用私有鑰匙加密,只有公開鑰匙才能解密
  • 這樣就可以協商密碼了:

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
    1. 瀏覽器從網站獲得網站的公鑰
    2. 瀏覽器自己生成一個密碼,用公鑰加密,發(fā)送出去
    3. 密文傳到WIFI上的時候,WIFI沒有私鑰,無法解開
    4. WIFI只能乖乖的把密文原封不動的傳給網站
    5. 網站有私鑰,可以解開,這樣瀏覽器和網站就成功交換了密碼
    6. 從此,它們用這個密碼加密數據,中間人無計可施

    當然實際的密碼交換過程比這個要復雜一些,但核心原理就是這樣的。

    3. 數字證書和CA認證機構

    但這事還沒完!中間人可以最開始就冒充網站,把它自己的公鑰給瀏覽器:

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要
    1. 瀏覽器試圖獲取某小電影網站的公鑰
    2. 經過WIFI的時候,WIFI直接把自己的公鑰給了瀏覽器。
    3. 瀏覽器用WIFI的公鑰加密,發(fā)送密碼。
    4. WIFI用自己的私鑰解密,獲得了密碼。從此瀏覽器發(fā)送的消息,WIFI都知道了。
    5. WIFI把篡改后的信息,再用網站的公鑰加密和網站溝通。

    為了解決這個問題:

    1. 公鑰必須得監(jiān)管!不能隨便誰的公鑰都可以。
    2. 生成了公鑰后,要先找監(jiān)管機構蓋個章,生成一個數字證書,這些機構被稱為CA機構。世界上被認可的CA機構是有限的。他們簽發(fā)證書一般都是收費的。
    3. 當瀏覽器獲得一個公鑰時,看看這個公鑰是誰簽發(fā)的。如果是它不認識的機構簽發(fā)的,就提醒用戶:這個證書是無效的。
    4. 這樣中間人發(fā)來的公鑰是無效的,瀏覽器一下就識別出來了。

    所有電腦上都維護了自己信任的CA機構:

    在酒店看小電影,被勒索1720元,懂點HTTPS真的很有必要

    我們也可以手工修改添加自己信任的機構:比如把自己的公司加入到信任列表中去。這樣自己公司可以簽發(fā)證書。

    這樣基本上就徹底避免了中間人攻擊。

    如果對技術細節(jié)感興趣,可以看我下面兩篇文章:

  • 小朋友都能懂的計算機算法 - 公鑰加密
  • 小朋友都能懂的計算機算法 - 數字證書
  • 我是麥叔,陪你學編程,陪你走職場的路!

    這真的很重要,請轉發(fā)給需要的人,讓社會少一分傷害!

    數據分析咨詢請掃描二維碼

    若不方便掃碼,搜微信號:CDAshujufenxi

    數據分析師資訊
    更多

    OK
    客服在線
    立即咨詢
    客服在線
    立即咨詢
    ') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }