iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Security

讓 Hacking for Dummies 一書陪我 30 天系列 第 27

Day 27 - 不安全的登入機制

出於書本 Chapter 14. Web sites and Application

不安全的登入機制 (Unsecured login mechanism)

許多站台都會要求使用者在對網頁應用程式進行下一步操作時,要 登入 至該站台。通常就是要求使用者要一組登入用的 使用者 ID密碼 。這些登入機制有時會無法妥善地處理不正確的登入,或是揭露太多的資訊,攻擊者便可利用這些資訊來搜集有效的使用者 ID 與密碼。

如何測試登入機制是否安全?

  • 使用 無效的使用者 ID 搭配 有效的 密碼
  • 使用 有效的使用者 ID 搭配 無效的 密碼
  • 使用 無效的使用者 ID 搭配 無效的 密碼

在輸入這些組合的測項後,網站可能會回傳像是 你的使用者 ID 無效 或是 你的密碼無效,也有可能是回傳比較一般的訊息像是 你的使用者 ID 與密碼組合無效 ,但是分別在輸入無效的使用者 ID 與無效的密碼時 回傳不同的 error code

對攻擊者來說,一但能分得出哪個欄位是否是有效的情況下,便可以使用自動化的密碼攻擊方式來破解以進入網站。

測試工具

書上介紹可以使用像是 Brutus 之類的網站密碼破解工具,來替自家站台做測試。因為這套又是 Windows Only 的工具,只好到網路上找找。

  • Hydra [1][2]
    • 這套支援各式各樣的協定,像是 FTP 、HTTP、 HTTPS 甚至 MYSQL 等等都有
  • Burp Suite [3]
    • 攔截 http request/response
    • 暴力破解
    • 也能檢測 XSS 、SQL Injection 等漏洞

下載 Burp Suite Community 版本後,介面上有一些指引帶領大家操作,還有教學影片
https://ithelp.ithome.com.tw/upload/images/20211012/20141184EUTpRVrR0Z.png

選擇 Getting started with Burp Suite ,功能真的五花八門,也難怪可以看到其他高手的鐵人賽系列文章,30 天就只解釋這套工具。

https://ithelp.ithome.com.tw/upload/images/20211012/20141184SqmxOWovuO.png

因應對策

在網路應用程式中實作下面的項目,來預防登入機制相關的攻擊

  • 無論是無效的 ID 輸入或是密碼輸入,均顯示比較一般的錯誤訊息
  • 不要在使用者看得到的地方,比如 URL ,夾帶與登入相關的 error code
  • 使用 CAPTCHA 來預防密碼攻擊
  • 實作上鎖的機制,例如嘗試三次就暫時不允許使用者嘗試登入
  • 更換任何來自其他地方的預設密碼

明天來整理一下如何降低網站的安全性風險!

[1] Install hydra on Mac OS

[2] [駭客工具 Day12] 密碼暴力破解 - Hydra

[3] [駭客工具 Day10] web安全測試 - Burp Suite


上一篇
Day 26 - XSS 與防範輸入相關攻擊的方式
下一篇
Day 28 - 如何降低網站的安全性風險
系列文
讓 Hacking for Dummies 一書陪我 30 天30

1 則留言

0
juck30808
iT邦新手 2 級 ‧ 2021-10-12 18:32:42

恭喜即將完賽!!!

我要留言

立即登入留言