阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 高等考試_三級_統計:資料處理#88779
科目:資料處理
年份:109年
排序:0

申論題內容

三、資料隱碼攻擊(SQL Injection)是發生於應用程式與資料庫層的安全漏洞,請解釋何謂SQL Injection。(15分)

詳解 (共 2 筆)

詳解 提供者:114年高考上榜

SQL Injection(資料隱碼攻擊)是一種常見的網站攻擊技術,攻擊者通過將惡意的SQL語句插入到應用程式的資料庫查詢中,從而能夠繞過應用程式的驗證和授權機制,並且獲取敏感資料或者對資料庫進行不當操作。

 
一般來說,SQL Injection攻擊會發生在一些Web應用程式上,這些應用程式使用使用者提供的資料來執行資料庫查詢,例如使用者在搜尋欄輸入的關鍵字或者在網頁表單中輸入的資料。攻擊者利用一些技巧來修改使用者提供的資料,並且將惡意的SQL語句插入到應用程式的資料庫查詢中,以此來繞過應用程式的驗證和授權機制。
 
攻擊者可以利用SQL Injection攻擊來執行各種操作,例如獲取敏感資料、刪除或修改資料庫中的資料,或者在資料庫中插入惡意資料等等。要預防SQL Injection攻擊,開發者需要對Web應用程式進行充分的測試和安全審查,同時使用一些安全機制和技術,例如使用參數化的SQL查詢、限制使用者輸入的資料類型和內容,或者使用防火牆等等。
詳解 提供者:hchungw

SQL Injection(SQL 隱碼攻擊)

定義

SQL Injection 是一種安全漏洞,攻擊者通過向應用程式的輸入字段插入惡意的 SQL 語句,操縱後端資料庫執行非預期的操作。

發生機制

當應用程式直接將用戶輸入嵌入到 SQL 查詢中,且沒有適當處理時,攻擊者可以通過特別構造的輸入來改變查詢的結構和行為。

 

防禦措施

  1. 使用預備語句(Prepared Statements)

    • 分離 SQL 語句和數據,防止 SQL Injection。
     
  2. 輸入驗證

    • 嚴格驗證和過濾用戶輸入。
  3. 使用存儲過程(Stored Procedures)

    • 在資料庫端執行預定義的 SQL 語句。
  4. 最小權限原則

    • 資料庫用戶僅授予最小必要的權限。