Huli
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# 科技島 ## 2022-09-27(二) 淺談新型釣魚手法:「瀏覽器中的瀏覽器」|專家論點【Huli】 網路釣魚(phishing)這個詞應該許多人都不陌生,簡單來說就是通過各種手法,想辦法騙取使用者的信任,藉此竊取個資或是其他重要資料,如信用卡號或是網站的帳號密碼等等。 一般常見的釣魚手法像是釣魚信件,下圖就是我實際收到的釣魚信件,偽造成中華郵政,想要讓你點擊連結,而點下去的網址跟顯示的網址是不一樣的,會被導去釣魚網站: ![](https://i.imgur.com/damZCFK.png) 而現在很多收信的網站或是軟體都有提供內建的防護機制,像是上面這張圖就可以看到左上角有一個 icon,原本這邊應該是一張圖的,但是 Gmail 判定這個寄件者不信任,因此就不自動顯示圖片了。除此之外,這封信也自動被 Gmail 丟到垃圾信件夾裡面,不會進到主要的收件箱。 另一種常見的方法就是釣魚網站,可能你點進去某個網站,說你中大獎了要提供資料,或者你在找某個電商的官方網站,結果不小心點到別的長得一模一樣的網站,只要輸入了帳號密碼,帳號就會被偷走。以前也有發生過偽造成政府疫情紓困專案的案例,藉此博取使用者的信任。 這些釣魚網站可能會透過電子郵件、搜尋引擎或者是手機簡訊等等的管道來接觸你,而比較用心的網址會想辦法魚目混珠,長得跟原本的很像。 除了以上的釣魚手法之外,有一種新型的釣魚手法也很特別,叫做「瀏覽器中的瀏覽器」,英文為:「Browser-in-the-browser」,簡稱為 BitB。 這個釣魚手法,看底下這個 GIF 就知道了(來源為 [Browser In The Browser (BITB) Attack](https://mrd0x.com/browser-in-the-browser-phishing-attack/)): ![](https://i.imgur.com/2n1Kvl9.gif) 你有看出什麼異狀嗎? 在上面的 demo 中,當你按下「Sign in with Microsoft」的時候,不是會彈出一個登入視窗嗎?那個其實是假的,那個視窗看起來是彈出視窗,但其實是用 HTML + CSS 刻的!這就是攻擊名稱 Browser-in-the-browser 的由來,在瀏覽器裡面再畫一個瀏覽器出來。 如果沒有注意的話,就會以為是彈出視窗,而且網址還是正確的網址,就會令人降低戒心,輸入帳號密碼。當你按下登入的那一瞬間,帳號跟密碼就被送到駭客手裡了。 這個釣魚手法雖然在以前就出現過,但從今年年初開始才慢慢受到關注,算是比較新的釣魚手法,以技術的觀點來看其實滿有趣的,透過偽造一個以假亂真的瀏覽器畫面來欺騙使用者。而有個防範的方式就是拖曳視窗,看看能不能把視窗拖出分頁所在的位置,因為如果是假造的,你沒辦法讓它脫離分頁,只能在分頁當中移來移去。 以後碰到可疑網站的時候,可以多加留意。 參考資料: 1. [全新「BitB」攻擊手法的網路釣魚技術現身!精明網友也無法看出「有鬼」](https://technews.tw/2022/03/25/new-browser-in-the-browser-bitb-attack-makes-phishing-nearly-undetectable/) 2. [Browser-in-the-browser attack: a new phishing technique](https://www.kaspersky.com/blog/browser-in-the-browser-attack/44163/) 3. [新釣魚攻擊「瀏覽器中的瀏覽器」竊取玩家Steam帳號,安全專家提醒注意](https://www.4gamers.com.tw/news/detail/55066/a-new-browser-in-the-browser-attack-threatens-steam-users) 4. [Letting off steam](https://blog.group-ib.com/steam) 5. [Browser In The Browser (BITB) Attack](https://mrd0x.com/browser-in-the-browser-phishing-attack/) ## 2022-09-20(二) 該如何入門資安?資安資源大補帖|專家論點【Huli】 上一篇我們在介紹 CTF 的時候,最後有說會再介紹一些相關的資源讓大家參考,而之前也有些網友會私訊我,問我說我是怎麼轉到資安領域去的,因此這篇就來跟大家介紹一些資源。 首先,我自己認為資安的入門門檻是比其他領域(例如說網站前後端)高的,因為你必須要有一些背景知識,才有辦法理解這些東西到底在幹嘛。例如說 pwn 這種跟 binary 相關的東西,如果沒有相關知識就直接進來學的話,可能學一學也搞不懂在幹嘛。 所以呢,若是下面推薦的這些資源你發現有些完全看不懂在幹嘛的話,就很有可能是相關的基礎知識不足,這時候我會建議先去補足基礎知識,補完以後再回來學習資安相關的東西。 前言差不多就這些了,總之呢,這篇就來介紹一些相關的學習資源給大家。 以台灣的學習資源來說,大概有以下幾種: 1. 學校開的課程 2. 學校的資安相關社團的社課 3. 教育部計畫(僅限在學學生) 而網路上可以找到一些已經有人整理好的資源,像是 [Awesome Taiwan Security Course](https://github.com/fei3363/Awesome-Taiwan-Security-Course),裡面就包含了各校的資安課程、資安社團以及社群,還有教育部的一些資安計畫,例如說 [AIS3](https://ais3.org/) 或是 [臺灣好厲駭](https://isip.moe.edu.tw/wordpress/?p=2564) 之類的,這些都是僅限在學學生可以參與的,如果你是學生而且對資安有興趣的話,可以好好把握這個機會。 而我自己也很推薦上面整理出來的各校資安課程,因為畢竟是學校的課程,所以整體的課程架構會更完善,而且相關的學習資源以及簡報都會放在 GitHub 上,讓大家公開下載。例如說 [How to Hack Websites](https://github.com/splitline/How-to-Hack-Websites) 是關於 Web Hacking 的學習資源,我很推薦對 Web Hacking 有興趣的朋友們從這個課程開始。 還有另外一個整理好的資源叫做[台灣資安 / CTF 學習資源整理](https://github.com/Ice1187/TW-Security-and-CTF-Resource),裡面不只學校課程,其他地方的資源也會一併收錄,例如說一些演講的錄影之類的。除此之外,對於學校社團、資安社群以及台灣的 CTF 的資料也更加齊全。 學校的社團也是一個我覺得不錯的學習管道,例如說[台科資安研究社](https://ntusthack.feifei.tw/)就有提供社會人士參與的管道,只要繳資源費之後就可以存取社課相關的資源,非常划算。 上面這兩個 GitHub repo 的涵蓋範圍其實就很廣了,已經收錄了許多相關的學習資源。若是想要參考一些國外的資源,也可以從這種資源彙整上面來找,像是 [Awesome Infosec](https://github.com/onlurking/awesome-infosec) 裡面就有很多國外學校的資安相關課程,也很值得參考。 除此之外,再推一下 PortSwigger 的 [Web Security Academy](https://portswigger.net/web-security),都是 Web 相關的技巧,而且每一個都有附上 Lab 可以練習,是滿適合入門的一個管道。 最後,如果你知道有哪些其他很不錯的資源,也歡迎推薦給我。 ## 2022-09-13(二) 什麼是 CTF 搶旗攻防賽?|專家論點【Huli】 你有聽過或是在新聞上看過 CTF 這個名詞嗎?CTF 的全名為 Capture The Flag,中文直翻就是「奪旗」的意思。在資安領域中有不少名詞跟術語都是來自軍事領域,例如說負責攻擊的紅隊(Red Team)以及負責防守的藍隊(Blue Team),而奪旗也不例外,顧名思義就是奪下對方的旗幟就能夠獲得勝利。 而 CTF 在資安領域上,簡單來講就是「搶奪旗幟(flag)的比賽」。 舉例來說,今天可能有一道題目,給了你一個網頁,你的目的就是入侵這個網頁,拿到這台主機的管理員權限,拿到以後你可以在只有管理員有權限存取的資料夾中看到一個檔案叫做 flag,內容會是一段字串,例如說:`CTF{I_am_thE_f1ag}` 之類的,這一串字就是所謂的 flag,接著把這個 flag 輸入到比賽系統中,就會取得該題的分數。 下面就是常見的 CTF 比賽系統的截圖,可以看到有很多道題目: ![](https://i.imgur.com/mnj3cxG.png) 而題目點下去就會有敘述還有相關的網址跟檔案,也有讓你提交 flag 的輸入框: ![](https://i.imgur.com/m3aMcuy.png) 分數的計算方式主要有兩種,一種採固定分數制,但比較不常見,另一種比較常見的是浮動分數制,隨著解開的人數愈多,分數就會愈少。舉例來說,只有你一個人解開的時候是 500 分,兩個人解開時可能就剩下 476 分,有 100 個人都解開的時候,可能這題就只剩下 50 分。而分數多寡跟解開的順序無關,儘管你是第一個解開的,你最後還是只能得到 50 分。 而題目一般來說常見的有幾種類別,分別是: 1. Web(網頁相關的題目) 2. Reverse(逆向工程) 3. Pwn(binary 有關的題目) 4. Crypto(密碼學相關) 5. Misc(其他千奇百怪的題目) 有些比賽可能還會有 Forensics(鑑識)或是 OSINT(利用各種搜尋技巧找到相關答案,有點像人肉搜索那樣)的類型。 以 misc 為例,可能會就給你一個壞掉的 QRCode 讓你去修復,你就要去研究 QRCode 的規格,知道背後的原理,才能開始修復。 而我上面講的這種「解題制」的模式,叫做 Jeopardy,最後比的就是誰的分數高,你解越多題尤其是越多難題,分數就會越高。 而另外一種也很常見的模式叫做 Attack & Defense,有時候簡稱為 A&D 模式,就更有標題所說的「攻防戰」的感覺。在這個模式底下,每一個隊伍都會有一台主機,上面有著主辦單位先寫好的服務,而你的目標就是: 1. 保障服務穩定運行 2. 修補服務的漏洞 3. 攻擊其他隊伍的服務 而「攻擊其他隊伍的服務」,具體來說就是找出漏洞以後入侵,然後拿到放在服務裡面的 flag,一樣把 flag 提交之後就會拿到分數。這種 A&D 模式比起解題制,更講求的是速度跟防禦能力。舉例來說,解題制就算你最後一刻才解開,也還是跟別人拿到同樣分數。但是 A&D 模式你如果晚別人一小時才找到漏洞,就會損失這一小時防禦跟攻擊的分數,所以速度是很重要的。 有一個叫做 [CTF TIME](https://ctftime.org/) 的網站,上面搜集了幾乎所有公開的 CTF 比賽,每一場比賽都會有相對應的權重,決定了每支隊伍最後能獲得的積分,而積分就決定了在上面排行榜的名次。雖然說上面的排行榜就算拿到前十名好像也不會有什麼實質獎勵,但更多的應該是讓別人認識這支隊伍,以及證明隊伍的實力。 一般來說,大多數 CTF 的比賽時間都會在假日,因為大家才比較有空參與,而比賽時間常見的是 48 小時,例如說週六早上八點開始,週一早上八點結束,也有 24 小時或是更長的。開始時間也不一定,通常看主辦單位的時區。 而 CTF 中可能會有許多題目,所以基本上都是以隊伍為單位參賽,每個隊友負責不同的部分,彼此互相合作。通常不會限制隊伍人數,有的隊伍可能 5 個人,有的可能 50 個人也說不定。 除此之外,有幾場比賽也是年度盛事,例如說跟著 DEF CON 一起舉辦的 DEF CON CTF,就被喻為 CTF 界的最高殿堂,資格賽是採 Jeopardy 模式,取前 16 名進入決賽,決賽今年是在美國拉斯維加斯舉行,是 A&D 模式。對比賽內容跟相關遊記有興趣的話,可以參考我今年寫的心得:[DEF CON 30 CTF final 遊記](https://hulitw.medium.com/def-con-30-ctf-final-1-79220bba7f02) 如果你還是學生的話,台灣也有一個專門給學生的 [My First CTF](https://ais3.org/mfctf/)。 介紹完 CTF 以後,我們下一篇文來介紹一下有哪些相關的學習資源。 ## 2022-09-06(二) 一起來看看真實世界的漏洞長什麼樣子|專家論點【Huli】 大家常在新聞上看到某某網站或是某某公司又被駭客入侵的新聞,對於遭到駭客入侵後的「結果」應該不陌生。但我相信對於許多人來說,到底所謂的「漏洞」是什麼,「攻擊」又是在攻擊什麼,這些細節應該是無從知曉的,頂多在腦海中浮出電影裡的畫面,只是不斷在敲盤上敲打。 今天我想藉由一些實際案例,跟大家分享所謂的「漏洞」跟「攻擊」到底是怎麼一回事。首先,漏洞有分簡單的跟困難的,這篇會提到的都是能夠比較簡單利用的漏洞,並不代表每一個漏洞都這麼簡單就可以入侵。 既然說是要分享實際案例,那就要有資料來源。台灣有一個由 HITCON(台灣駭客年會)所發起的漏洞回報平台 [HITCON ZeroDay](https://zeroday.hitcon.org/),白帽駭客們可以在上面回報自己找到的漏洞,而背後的志工們在驗證漏洞以後,會回報給相對應的組織,例如說學網相關的可能就會回報給台灣學術網路危機處理中心。 這個平台的立意良好,畢竟有些公司如果你自己回報漏洞的話,有可能會被誤認為是來勒索或是敲詐,但透過平台回報,就能減少這類型的問題。而且在這邊回報的漏洞,也依循著國外行之有年的做法,就算沒有修復,在一定時間(例如說兩三個月)後也會公開,讓廠商對自己產品的漏洞負責。 底下這個網址可以看到所有已經公開的漏洞(以修完的佔大多數):https://zeroday.hitcon.org/vulnerability/disclosed 我們可以看到許多不同成因造成的漏洞,例如說 [ZD-2022-00425 雲端租屋生活網 弱密碼](https://zeroday.hitcon.org/vulnerability/ZD-2022-00425),原因是後台管理系統可以用 `test` 這組帳號密碼登入,登入之後就進到管理系統了。 是不是跟你想像中的不太一樣?原本以為需要一直敲著鍵盤,打著你看不懂的東西,殊不知只是敲兩遍 test 就入侵成功了。是的,許多現實生活中的漏洞,比你想的簡單許多,而這同時也代表著有許多軟體開發人員對於資安的認識不足。 再來看一個案例:[ZD-2022-00416 康軒電子書 FTP帳密洩漏](https://zeroday.hitcon.org/vulnerability/ZD-2022-00416),在程式碼裡面找到一個網址,然後內容就是康軒 FTP 的帳號密碼,登入進去以後就可以拿到網頁原始碼。 最後再來看一個 [ZD-2022-00323 弘爺漢堡 個資易讀取](https://zeroday.hitcon.org/vulnerability/ZD-2022-00323),讀取會員個資的 API 必須傳入一個會員的 ID,只要把這個 ID 改成別人的,就可以拿到別人的姓名、電話跟 email。許多網站的會員 ID 都是流水號或是很容易預測的格式,所以理論上來說,等於是可以拿到所有會員的個人資料。 從上面這些漏洞中就可以看出,有許多現實世界會發生的漏洞,可能跟大家想的不太一樣,漏洞很簡單就能夠入侵,而入侵方法連一般人都能夠操作。 這篇文章並不是在說「你看,當駭客很容易」,我在一開始就有強調說漏洞有簡單的有困難的,這篇講的都是比較簡單的案例。我想表達的事情是「你看,並不是所有漏洞都跟你想的一樣這麼難,也有這種簡單的」,下次在看這些網站時,你也可以多花點心力試試看,說不定你也能找出這類型的漏洞。 而身為開發者,自然就是必須時刻提醒自己,不要寫出這種很容易就能被攻擊的程式碼,要把基本的資安做好。 ===== 一個月分隔線 ==== ## 2022-08-30(二) 我的密碼外洩了嗎?|專家論點【Huli】 之前我們談過了一般來說網站會怎麼保管你的密碼,也談過了該怎麼保護自己的密碼,而這次就讓我們單刀直入,直接問一個問題:「該怎麼知道自己的密碼是不是外洩了?」 如果你是用 Chrome 瀏覽器的話,在你登入某些網頁時,可能會看過一個彈出視窗上面寫著:「你使用的密碼已外洩,建議更改」之類的字眼,而 Chrome 又是怎麼知道的呢?除了 Chrome,有沒有別的服務可以使用呢? 原理是這樣的,有些服務(例如說 Chrome 的檢查密碼是否外洩的服務)會去搜集各種外洩的情報,這些資料在暗網或是某些資安廠商都有管道可以拿到或是買到,拿到了資料以後,就可以建一個外洩事件的資料庫,裡面有每一筆外洩的資料。當你輸入密碼的時候,這些服務就去資料庫裡面檢查,看這筆密碼或是這個帳號有沒有在資料庫裡面出現,有的話就代表你的個資早已外洩了。 這些資料庫裡面有些會有我們上一篇提過的,hash 過後的密碼,也有些網站的資安沒有做好,所以密碼直接以明文存在資料庫裡面,這種也是有。 而這類型的檢查服務有幾個,例如說 have I been pwned:https://haveibeenpwned.com/ ![](https://i.imgur.com/ClN760j.png) 只要輸入你的 email 就可以檢查,還有另外一個 Firefox 提供的服務:https://monitor.firefox.com/ ![](https://i.imgur.com/dy1un3K.png) 一樣只要輸入 email,就會去資料庫查詢,告訴你外洩的資料庫中是否有這筆 email 的存在。除此之外,也會告訴你更多細節,例如說是哪個網站外洩,發生在什麼時候等等。雖然說資料庫裡面可能會有你的密碼存在,但這些服務並不會告訴你密碼是什麼,原因是如果有這個功能的話,遭到濫用的可能性很大。舉例來說,我可以輸入別人的 email,就得到它外洩的密碼,這樣不是很危險嗎? 因此,這些網站只會告訴你有沒有外洩,以及外洩了什麼資料,並不會告訴你外洩的資料內容是什麼。 建議大家都可以拿自己的 email 去查,去查查看是否密碼已經外洩,如果外洩的話,就代表這組密碼已經不安全了,強烈建議儘速換一組新的密碼。 話說上一篇裡面最後有提到密碼管理軟體,上次介紹的 LastPass 這幾天剛發生[資安事件](https://www.ithome.com.tw/news/152730) ,在選擇這些密碼管理軟體時,也要注意這些軟體本身的安全性,可以多搜集一些資料再做決定。提供這類型服務的公司有不少,例如說另一個很有名的就是 [1Password](https://1password.com/zh-tw/)。 雖然技術上來說,這些公司其實都沒有儲存你的密碼,你的密碼只有自己知道,他們存的都只是加密後的結果,但還是選擇信譽比較良好的廠商會比較好。 ## 2022-08-23(二) 網站都是怎麼儲存你的密碼的?|專家論點【Huli】 在談談該怎麼保管自己的密碼以前,先跟大家分享一個小知識,那就是一般的網站都是怎麼保存你的密碼的。 之前我有提到說如果駭客入侵,把儲存資料的資料庫整個偷走,那你的密碼不就一起外洩了嗎?有些人可能會想說「不過是一筆密碼外洩,這有什麼?很嚴重嗎?」。 但事實上,有許多人在不同網站上都會使用同一組密碼,或是經過一些可辨識的「變形密碼」,例如說主要密碼是 123456,在 Google 就是 google123456,Facebook 就是 facebook123456 之類的,這些就被我稱之為可辨識的變形密碼。 如果你的密碼在不同網站上都用同一組,或是用上面這種很容易被猜測的規則設置不同密碼,假如駭客拿到了你的其中一組密碼,就可以嘗試登入其他服務。舉例來說,明明就是某線上書城的資料外洩,卻連帶導致你的 Google 帳號也一起被盜了!所以,儘管只是一筆密碼外洩,也有可能連帶造成你其他的服務都跟著一起淪陷,這就是可怕之處,而這種攻擊通常稱為「撞庫」攻擊。 那該怎麼辦呢? 這可以從兩個方向著手,一個是網站應該更安全地儲存你的密碼,另一個則是避免使用相同或是可辨識規則的密碼。 事實上,一個做得好的網站,其實不會儲存你原本的密碼,只會儲存經過「一些變換」後的密碼。舉個例子,假設現在有個網站儲存密碼以前都會做轉換,a 變成 1,b 變成 2,以此類推,數字跟符號維持不變,如果我的密碼是 abc123,就會變成 123123,接著網站就把這一串字存到資料庫裡面,而不是儲存原始密碼。 當使用者登入時,網站就用一樣的規則轉換,去檢查跟資料庫儲存的是否相符,不符合的話就代表輸入錯誤。 舉例來說,我輸入 aaa,網站轉換完以後是 111,跟資料庫中的 123123 不符合,登入失敗。我輸入 abc123,轉換完是 123123,跟資料庫中的一致,登入成功。 假設今天駭客入侵了資料庫,拿到了 123123,他也不會知道原始密碼是 abc123,因為 123123 也有可能是 abcabc 或是 12cab3 轉換而來。 這種「可以從 A 轉換到 B,從 B 卻沒辦法轉回 A」的操作,我們稱之為雜湊(hash),網站通常就是用這種方式儲存你的密碼。 不過,上面這種轉換方式是大幅簡化過後的結果,實際上的轉換規則會複雜很多。例如說,上面的 123123 其實反推回原始密碼,雖然有很多種可能性,但是是可以窮舉的。 這是因為我簡化了轉換方式,實際在用的轉換會更複雜,讓你真的沒有辦法反推回去,例如說有一種叫做 SHA-256 的演算法,abc123 轉換完是 6ca13d52ca70c883e0f0bb101e425a89e8624de51db2d2392593af6a84118090,abc124 是 cd7011e7a6b27d44ce22a71a4cdfc2c47d5c67e335319ed7f6ae72cc03d7d63f,只是差了一個字母,結果就差了十萬八千里。 我以前有寫過一篇更詳細的文章,可以參考:[為什麼忘記密碼時只能重設,不把舊密碼告訴我?](https://tech-blog.cymetrics.io/posts/huli/why-only-reset-password-not-retrieve-password/) 網站儲存了 hash 過的密碼以後,儘管資料庫被偷,駭客依然無法輕易取得原始密碼,為使用者增加了更多的安全性。 接著讓我們回到管理自己的密碼這一塊,其實目前大多數人比較推薦的方法都是使用密碼管理的軟體,例如說 [LastPass](https://www.lastpass.com/) 之類的服務,只要記住一組主密碼就好了,不需要管其他密碼,也能保證你在每個網站的密碼都是獨一無二的,一個站的密碼被偷,並不會影響到別的網站。 再者,密碼管理軟體也有其他好處,例如說會提醒你某一組密碼用太久該換了之類的。 用了這種軟體以後,要更加重視的就是對於主帳號的保護,可以把所有心力都放在這邊,例如說一定要開啟所謂的二階段驗證,在登入的時候除了需要帳號密碼以外,還需要用 email 或是簡訊收取一組驗證碼,做第二層的驗證以後才能確定登入。 ## 2022-08-18(四) Huli》有誰知道你的密碼?|駐站專家 這次的主題想跟大家談談「密碼」。 你記得你的每一組密碼嗎? 在這個網路時代中,有些網站會使用所謂的「第三方登入」,例如說可以用 Facebook、Google 或是 LINE 的帳號來登入,而不是額外再用 email 註冊一個帳號。這樣的好處之一就是對使用者來說可能會比較方便,因為不需要花心力再去記憶一組新的,而對網站本身的好處就是不需要去儲存使用者的密碼等等,少了一些管理的成本。 不過壞處的話則是沒有辦法掌握全部的資料,而且依賴於第三方,假設這個第三方有一天倒了,那基本上網站的會員就整個沒了。 除了這些使用第三方登入的網站以外,也有許多的網站都需要註冊以及登入過後才能使用,也因為如此,我相信大家應該都有很多組帳號跟密碼,而當帳號以及密碼變多以後,管理就變成了一個大問題,不知道大家是怎麼去記憶以及管理的呢? 或者換個角度想,大家有沒有想過你註冊的服務,是怎麼樣管理你的密碼呢?例如說,如果駭客入侵,把儲存資料的資料庫整個偷走,那你的全部個資不就外洩了,密碼也外洩了,這樣不是很危險的一件事情嗎?那到底那些服務應該怎麼樣管理密碼比較好呢? 歡迎大家提出自己管理密碼的一些方式或秘訣,以及覺得怎樣儲存密碼的方式比較安全,在下一篇裡面我也會提出一些常見的做法。 ## 2022-08-16(二) Huli》「駭進網頁」可能沒有你想像中的困難|駐站專家 之前我有 po 過一篇《「駭進網頁」到底是怎麼一回事?真的很難嗎?》的討論,裡面問到了大家對於「被駭」的經驗,例如說最常見的應該就是帳號被盜用,或者是個資外洩等等。而今天這一篇,就是要來破除許多人對於 hacking 這件事情的迷思。有的駭入事件可以很難,但有的也可以很簡單,甚至連不懂技術的你都做得到! 舉一個例子,你在使用購物網站或是任何購物相關的服務時,有注意過網址嗎?有許多相關的服務在你購買完成之後,都會把你重新導去另一個網址,例如說 /order?id=123456 這樣子的格式,如果你沒有注意過的話,下次可以特別注意看看。 對於網頁伺服器來說,/order?id=123456 這樣的網址,就是跟他說:「我想要訂單 id 是 123456 的資料」,這個應該滿好理解的,就是一個參數的概念。 這個時候,一般人可能想說沒什麼,但像是我或是很多懂技術的人,就會把網址改成 ?id=123457,看看會發生什麼事情。有些做得很差的網站,在權限管理的部分並沒有做好,因此你改了網址之後,居然還真的可以看到別人的訂單! 更糟的是,這些訂單很多都是流水號的,所以你可以列舉出所有的訂單,裡面就有所有消費者的訂單資料跟個人資料,而這些人的個資,就因為這個這麼簡單的漏洞而外洩了。 不要想說「怎麼可能真的這麼簡單」,還真的就是這麼簡單,就是一堆網站犯過這樣的錯誤。 所以,下次在使用這些服務之前,不妨注意看看網址上的參數,並自己改改看,看會發生什麼事情。如果網站有正常運作的話,要嘛會出現錯誤頁面,不然就是跳出權限不足的頁面之類的,絕對不會真的跑出別人的資料來。 ## 2022-08-11(四) Huli》「駭進網頁」到底是怎麼一回事?真的很難嗎?|駐站專家 我相信大家近期都有注意到許多跟資訊安全相關的新聞,例如說[台灣大學的網頁被中國駭客入侵](https://tw.news.yahoo.com/%E5%8F%B0%E5%A4%A7%E7%B6%B2%E7%AB%99%E4%B9%9F%E9%81%AD%E6%9F%93%E7%B4%85-%E9%A7%AD%E5%AE%A2%E6%94%BB%E6%93%8A%E8%AE%8A-%E5%80%8B%E4%B8%AD%E5%9C%8B-042500071.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAEduDLuzSghOSpHfai4JaZ_KvUymhMSMZAg4hHwD7ORN-wFwZG_CnNZqbzFk1PYBXX-mdW7HVOwQTtbIjCyVlARayQ8Fv4sZPM9f4ctu9ccyh76vcpThLU554CWg_6u3uf6BpuYBCAvwc-T6clJGrCaSAGhUDI6jFttkmExApJsB),在學校網頁上面放了「一個中國」相關的圖片與字眼,而[自稱是 APT27](https://news.ltn.com.tw/news/politics/breakingnews/4017815) 的駭客組織也發布了攻擊的預告,說是要公開台灣某些連網設備的漏洞。 以前其實這類型的新聞也偶爾會看到,只是最近因為兩岸關係的變化,使得這種針對性的攻擊浮上檯面,並且頻繁出現在新聞版面。如同我上一篇裡面提到的,資訊安全有許多的環節,而我們上一篇就講到了「開發上的資安」通常會做哪些措施來保護。但是,資安這種東西沒有「絕對不會被駭」這種事,沒有人能保證這件事情。因此,我們只能盡可能用許多防禦的手段,降低駭客攻擊成功的可能性以及嚴重性。 回到「駭進網頁」這件事情,我們常常在電影或是電視劇裡面看到身穿黑衣黑帽的人不斷敲打著鍵盤,然後一個人用了十幾個螢幕,似乎在監看許多畫面,在寫著許多東西,這就是駭客平常的樣子嗎?還是說這只是電影呢? 那到底「駭進網頁」是怎麼樣一回事呢?是不是真的很難?還是說,其實沒有一般人想像中的困難呢? 在討論這個之前,想問問看大家有沒有被駭的經驗,例如說被盜帳號啦,或是被釣魚網頁釣到啦,又或者是去某些網站註冊或是買東西,結果接到相關的詐騙電話,這些也都是被駭的一種,大家有沒有相關的經驗呢? ## 2022-08-09(二) Huli》公司在開發上常見的資訊安全措施|駐站專家 「資訊安全」其實就像「軟體開發」一樣,底下就有很多不同的領域跟子類別。就像軟體開發底下可能還會有網站開發,而網站開發下面又有前端跟後端,前端裡面又會再細分其他的類別出來。資安也是如此,也有很多面向需要注意,例如說有些人比較擅長的就是偏向「法規」面的,知道法律規定哪些是必要的,哪些又不是。 也有些人比較擅長的是「制度面」,知道要在公司內部訂立哪些的規範,以及在公司內部施行怎樣的資安措施。 而我自己比較關注且擅長的是偏「技術面」或也可以說是「開發面」的部分,舉例來說「公司內員工的密碼強度應該達到某個級別」就不是我所負責的部分,這個比較偏向我上面講的「制度面」。 在上週四的貼文裡面我有提到想跟大家討論在「開發上」常見的資安措施為何,常見的開發流程有一套叫做 SDLC 的東西,全名為 Software Development Life Cycle,而在前面加上一個 Security,就變成了 SSDLC,這個流程中把資安也一起考慮進去,在開發流程中加入資安的要素。 舉例來說,在工程師撰寫程式碼的時候就會自動化的「原始碼掃描」,藉由工具去掃描程式碼,看有沒有一些問題或是顯而易見的漏洞。而專案做完之後也會進行「弱點掃描」,再更進一步實際採用工具去攻擊網站,看會不會有問題。而專案要上線前還會再做一個「滲透測試」,由人工的方式去執行攻擊,深度會更深,通常找到的弱點也會越多,就有點像是模擬攻擊那樣子了。 上面這幾個就是開發上常見的一些措施,其實基本上就是在駭客攻擊你之前,先把自己攻擊一遍,至少能先找到一些顯而易見的漏洞並且修補掉,降低攻擊成功的可能性。 ## 2022-08-04(四) Huli》台鐵與 7-11 被駭,那你的公司呢?有做好防治措施嗎?|駐站專家 應該有不少人都看到了昨天的新聞,如同這篇《[小7門市螢幕、台鐵看板出現謾罵裴洛西字眼 警方初判駭客入侵偵辦中](https://tw.news.yahoo.com/%E5%B0%8F-7-%E9%96%80%E5%B8%82%E8%9E%A2%E5%B9%95%E3%80%81%E5%8F%B0%E9%90%B5%E7%9C%8B%E6%9D%BF%E5%87%BA%E7%8F%BE%E8%AC%BE%E7%BD%B5%E8%A3%B4%E6%B4%9B%E8%A5%BF%E5%AD%97%E7%9C%BC-%E8%AD%A6%E6%96%B9%E5%88%9D%E5%88%A4%E9%A7%AD%E5%AE%A2%E5%85%A5%E4%BE%B5%E5%81%B5%E8%BE%A6%E4%B8%AD-045751085.html)》所報導的,大家所熟知的便利商店以及台鐵的看板遭駭客入侵,被放置了預期以外的內容。 從新聞中可以看出這些廣告看板可能並不屬於台鐵所直接管理,而是由一些外部廠商負責管理以及顯示內容,而這個廠商可能背後有一個後台系統,可以遠端設置所有廣告看板的內容,而駭客就是入侵了這個系統,才得以置換廣告看板的內容。 (或是根據目前最新[調查](https://www.appledaily.com.tw/life/20220803/9D4D9CBC22B96A212BA0323D05),有可能是因為業者用了有後門的中國軟體所導致) 資訊安全是企業應該注重的一環,而台灣也有些法規有規範相關的內容,如果要合規的話就必須要遵守。 而這些規範其實也有很多面向,例如說大家最常聽到的可能是「每 90 天要換一次密碼」或是「公司網路不能造訪某些網站」之類的,這些也都是資安的相關措施。 今天想跟大家特別討論的是「開發」這一環,這軟體開發上也會整合許多資安的措施,畢竟能在越早期發現問題的話,解決問題的成本也就越低。例如說在剛開始設計廣告看板系統時,如果就能考慮到一些可能被入侵的狀況,而把系統放置在比較難接觸到的內網,或是加強登入措施(例如說需要 2FA),或許就能有些防止比較簡單直接的攻擊方式,加強入侵的難度。 不曉得大家所待的公司在開發上有做哪些資安的措施呢?還是說什麼都沒有做呢(別懷疑,也是有這一種)?都歡迎提出來討論!

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully