空密碼缺陷漏洞CWE-258:Empty Passwordin Configuration File

zktq2021發表於2021-08-20

早在2017年,蘋果MacOS的Sierra就出現過類似漏洞問題, 它允許任何人在root賬戶中輸入一個空白密碼或任意字串作為密碼即可進入系統。未授權的使用者可以透過【系統偏好】設定,選擇【使用者和組】,點選解鎖按鈕,然後會彈出一個要求輸入使用者名稱和密碼的提示框,使用者只需在使用者名稱一欄中輸入“root”,無需填寫密碼,多次點選解鎖後即可成功進入系統。之後使用者可自由管理macOS桌面,包括檢視所有帳戶儲存在電腦上的檔案、編輯其他使用者的憑據以及更改該裝置上的其它設定。

這個漏洞意味著無論你設定的密碼多複雜多安全,未授權的使用者拿到安裝有High Sierra系統的電腦後,都能繞過鎖屏驗證而直接進入作業系統。此外,這個安全漏洞還能在特定情況下實施遠端攻擊,如在螢幕共享,遠端訪問或者開啟虛擬網路計算機會話時。

如何產生的空密碼缺陷漏洞?

在程式碼開發階段,開發人員若使用空字串作為密碼,則會構成空密碼缺陷。

空密碼缺陷會造成哪些後果?

若我們使用空字串作為密碼,則會導致允許對應用程式進行未經授權的訪問。使用者名稱和密碼資訊都不應以明文包含在配置檔案或屬性檔案中。

怎樣修補和防範空密碼缺陷漏洞?

1、開發人員設定密碼時,切記不要使用空字串作為密碼,密碼長度應至少為八個字元。

2、為保障密碼的安全性,建議在設定密碼時將數字,“/”或標點符號加入其中。

3、避免使用在詞典,地名簿,地圖中可能找到的單詞。

4、若用普通單詞做密碼,可用數字和標點符號替換該單詞中的字母,但不要使用“外觀相似”的標點符號,例如:將cat更改為c @ t、ca +、或者@ +類似的名稱,以上均可能出現安全隱患。

5、不要使用和已設定的其他密碼相似的密碼。

空密碼缺陷樣例:

 

用悟空靜態程式碼安全檢測工具檢測上述程式程式碼,則可以發現程式碼中存在著“空密碼” 導致的程式碼缺陷,如下圖:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2787947/,如需轉載,請註明出處,否則將追究法律責任。

相關文章