阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 專技高考_資訊技師:系統分析與資訊安全#111975
科目:系統分析與資訊安全
年份:111年
排序:0

題組內容

四、資訊系統的安全性非常重要,要落實安全的軟體生命週期,須從安全需 求規格、安全設計階段著手整體資訊系統安全,並以安全程式設計原則 與最佳實務撰寫程式。程式安全分類可協助開發者辨識安全問題,了解 程式碼錯誤可能引發的安全問題,提升軟體安全。程式安全分類可以有: 「輸入驗證及表示(Input Validation and Representation)」 、「應用程式介面 誤用(API Abuse) 」 、「安全特性(Security Features)」 、「時間與狀態(Time and State)」 、「錯誤處理(Error Handling) 」、「程式碼品質(Code Quality)」 、 「封裝(Encapsulation) 」等。

申論題內容

(二)「輸入驗證及表示」是程式處理使用者或外部輸入的安全性問題,請 說明此問題可能導致的攻擊有那些。 (10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
 
 
 

1. SQL 注入(SQL Injection)

描述

  • 當應用程式直接將使用者輸入嵌入到SQL查詢中,且未經適當的驗證和轉義時,攻擊者可以插入惡意的SQL代碼,操控數據庫查詢。

可能的影響

  • 數據洩露:攻擊者可以獲取機密數據。
  • 數據篡改:攻擊者可以修改或刪除數據。
  • 數據庫損壞:攻擊者可以刪除整個數據庫或破壞數據結構。

2. 跨站腳本(Cross-Site Scripting, XSS)

描述

  • 當應用程式未對使用者輸入進行適當的轉義或過濾,攻擊者可以插入惡意的JavaScript代碼,這些代碼會在其他用戶的瀏覽器中執行。

可能的影響

  • 竊取用戶數據:攻擊者可以竊取用戶的Cookie、會話ID等敏感信息。
  • 劫持用戶會話:攻擊者可以模仿用戶的操作,執行未授權的行為。
  • 網站篡改:攻擊者可以改變網站內容,進行釣魚攻擊或散布惡意軟體。

3. 命令注入(Command Injection)

描述

  • 當應用程式直接使用使用者輸入構建操作系統命令並執行,且未經適當的驗證和轉義時,攻擊者可以插入惡意命令,控制服務器。

可能的影響

  • 遠程代碼執行:攻擊者可以在服務器上執行任意代碼。
  • 數據洩露或篡改:攻擊者可以訪問或修改服務器上的數據。
  • 系統損壞:攻擊者可以刪除文件或中止服務器服務。

4. 路徑遍歷(Path Traversal)

描述

  • 當應用程式未對使用者輸入的文件路徑進行適當的驗證,攻擊者可以插入特殊字符(如../)來訪問本應受限制的文件系統位置。

可能的影響

  • 數據洩露:攻擊者可以訪問敏感文件,如配置文件、數據庫憑證等。
  • 數據篡改:攻擊者可以修改或刪除文件系統上的文件。

5. 格式化字符串漏洞(Format String Vulnerability)

描述

  • 當應用程式直接使用使用者輸入作為格式化字符串參數,攻擊者可以插入格式化符號,操控程序的內存。

可能的影響

  • 信息洩露:攻擊者可以讀取內存中的敏感數據。
  • 遠程代碼執行:攻擊者可以改變程序的控制流,執行任意代碼。

6. 反序列化漏洞(Deserialization Vulnerability)

描述

  • 當應用程式反序列化不受信任的數據,攻擊者可以構造惡意數據,觸發不安全的反序列化邏輯,進而控制程序。

可能的影響

  • 遠程代碼執行:攻擊者可以在服務器上執行任意代碼。
  • 數據洩露或篡改:攻擊者可以讀取或修改敏感數據。