iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

馬克的 Kali Linux 與資安學習小筆記系列 第 15

30-15 OWASP - Authentication Testing ( 1 )

  • 分享至 

  • xImage
  •  

https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/04-Authentication_Testing/README

在開始這篇文章之前,有兩個重要的名詞要先分的清楚,那就是 :

  • Authentication ( 認證 )

  • Authorization ( 授權 )

簡單的說,Authentication 確保你是誰,Authorization 確保你可以做什麼。

4.4.1 Testing for Credentials Transported over an Encrypted Channel

Testing for Credentials Transported over an Encrypted Channel

這裡的測試目標主要是評估 web 是否在使用未加密的情況來進行 Authentication。

並且以下的敏感資料應該放在適當的地方且透過 https 傳輸 :

  • 密碼,放在 http body。

  • token,放在 cookies,並且這裡要注意需要在 cookie 加上 Secure,表示這個 cookie 只在加密的連接中進行傳輸。

https://ithelp.ithome.com.tw/upload/images/20230930/20089358nj6L8Txjk0.png

  • account or password reset codes。

4.4.2 Testing for Default Credentials

Testing for Default Credentials

這章主要是在說,在某些情況下我們通常會是使用開源或商業軟體所提到的 web 管理界面,然後常常這裡有些 default 的帳號或預設值,例設新建帳號時會預設某設密碼。

所章節的測試目的就是確認 :

  • 服務的預設狀況是否存在,並且預設是否安全。

  • 測試新建帳號流程是是否有預設資訊,讓 hacker 可以猜出來。

4.4.3 Testing for Weak Lock Out Mechanism

Testing for Weak Lock Out Mechanism

這個主要就是測試帳號鎖的機制 ( lockout mechanism )。

會有這個機制是因為,如果什麼都沒有設置,就代表 hacker 可以用程式一直 try,這也代表只要有時間就可以試出帳密。

然後這裡的測試目標為 :

  • 評估帳號鎖定機制對抗暴力法的能力。

  • 評估帳號鎖定解鎖的機制是否安全。

其中文章有提到 CAPTCHA 可以減少暴力攻擊法,但是它也有自已的可能問題 ( 不過這點要看實作 CAPTCHA 的套件 ),所以還是建議要 lockout mechanism。

  • CAPTCHA 如果是太簡單的會容易被解讀,例如算數。

  • CAPTCHA 的結果驗證可能有問題,例如只看 http 回應 status 或是 CAPTCHA 服務端被攻擊直接回傳全部都對。

4.4.4 Testing for Bypassing Authentication Schema

Testing for Bypassing Authentication Schema

這章主要是在討論,Authentication 的過程 login 的檢查,裡面有提到幾個它幾意的點 :

  • Direct Page Request : 這裡是指身份驗證機制如果只在登錄頁實施,代表使用者可以直接請求其它頁面的方式繞過身份驗證。( 應該…不會有有出這種東西的工程師吧… )

  • Parameter Modification : 這裡是指有辦法用修改請求參數的方式,來成功進到需要登入才能進去的網頁。

  • Session ID Prediction : 就是 userId 好不好猜,有沒有順序。

  • SQL Injection

4.4.5 Testing for Vulnerable Remember Password

Testing for Vulnerable Remember Password

這裡章主要是在說,因為密碼越來越多,而且每一次要進頁面都要登入,很麻煩,用戶心情會不太好,所以產生了以下兩個技術 :

  • remember user 一段時間。

  • password 管理。

然後這一章節就是要測試這兩個的安全性,主要重點有幾個 :

  • 儲放 credentials ( username、password ) 的方式,通常不會在 client 端儲放,而是用 token 來代替。

  • token 要有到期時間。

  • 自動輸入帳號密碼可能會 ClickJacking 與 CSRF 攻擊的風險 ( 但這裡 chrome 是怎麼處理的呢 ? )。


上一篇
30-14 Identity Management Testing
下一篇
30-16 OWASP - Authentication Testing ( 2 )
系列文
馬克的 Kali Linux 與資安學習小筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言