33. 根據所發現的原始碼,除發現
logLoginAttemp 函數未實做而可能有 OWASP A09:2021-Security
Logging and Monitoring Failures 風險,還有下列何項 OWASP Top10:2021 風險最可能存在?
(A) A02:2021-Cryptographic Failures
(B) A03:2021-Injection
(C) A05:2021-Security Misconfiguration
(D) A06:2021-Vulnerable and Outdated Components
答案:登入後查看
統計: A(18), B(295), C(58), D(17), E(0) #3294513
統計: A(18), B(295), C(58), D(17), E(0) #3294513
詳解 (共 2 筆)
#6610754

0
0
#6232271
根據圖中所示的 JavaScript 代碼,除了您提到的 logLoginAttempt 函數未實現可能導致的 A09:2021 安全日誌和監控失效風險外,最可能存在的 OWASP Top 10:2021 風險是:
(B) A03:2021-Injection(注入)
分析理由如下:
1.authenticateUser 函數中的 SQL 查詢語句直接拼接了用戶輸入的 username 和 password:
const query = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
const query = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
2.這種方式構建 SQL 查詢非常容易受到 SQL 注入攻擊。攻擊者可以通過精心構造的輸入來修改 SQL 語句的結構,從而繞過身份驗證或執行未經授權的資料庫操作。
3.正確的做法應該是使用參數化查詢或預處理語句來防止 SQL 注入,而不是直接將用戶輸入拼接到 SQL 字符串中。
因此,這段代碼存在明顯的注入風險,符合 OWASP Top 10:2021 中的 A03:2021-Injection 類別。這是一個嚴重的安全漏洞,可能導致未經授權的資料訪問、資料操縱甚至整個系統被攻破。
其他選項相對而言風險較小或在代碼中沒有明顯體現:
- A02:2021-Cryptographic Failures: 代碼中沒有直接涉及加密操作
- A05:2021-Security Misconfiguration: 僅從這段代碼無法判斷系統配置問題
- A06:2021-Vulnerable and Outdated Components: 代碼本身沒有顯示使用過時或有漏洞的組件
因此,答案選擇 (B) A03:2021-Injection 是最合適的。
ㅤㅤ
0
0