SQL注入剖析

2021-07-31 06:17:48 字數 879 閱讀 1550

sql注入剖析

什麼是sql注入:sql注入攻擊(sql injection),簡稱注入攻擊,sql注入是web開發中最常見的一種安全漏洞。 sql注入漏洞可以用來從資料庫獲取敏感資訊,或者利用資料庫的特性執行新增使用者,匯出檔案等一系列惡意操作,甚至有可能獲取資料庫乃至系統最高許可權。

原理:sql注入,就是通過把sql語句插入到web表單提交或輸入網域名稱發出請求的查詢字串,最終達到欺騙伺服器執行惡意**。

危害:1.資料庫資訊洩露:資料庫中存放的使用者資訊洩露。

2.網頁篡改:通過運算元據庫對特定網頁進行篡改。 

3.**被掛馬,傳播惡意軟體:修改資料看看一些欄位的值,嵌入**木馬鏈結,進行掛馬攻擊。

4.資料庫被惡意操作:資料庫伺服器被攻擊,資料庫管理員賬號被更改。

5.伺服器被遠端控制,被安裝後門,讓黑客進行任意的操作

6.破壞硬碟資料,癱瘓全系統

修復建議:

1.對進入資料庫的特殊字元('"\尖括號&*;等)進行轉義處理,或編碼轉換。

2.嚴格限制變數型別,資料庫中的儲存字段必須對應為int型。

3.資料長度應該嚴格規定,能在一定程度上防止比較長的sql注入語句無法正確執行。

4.**每個資料層的編碼統一,建議全部使用utf-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。

5.嚴格限制**使用者的資料庫的操作許可權,給此使用者提供僅僅能夠滿足其工作的許可權,從而最大限度的減少注入攻擊對資料庫的危害。

6.避免**顯示sql錯誤資訊,比如型別錯誤、欄位不匹配等,防止攻擊者利用這些錯誤資訊進行一些判斷。

7.在**發布之前建議使用一些專業的sql注入檢測工具進行檢測,及時修補這些sql注入漏洞。

8.確認php配置檔案中的magic_quotes_gpc選項保持開啟

SQL注入(三) sql注入 bugku

原理 mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如 aa 5c 就是乙個 漢字 前乙個 ascii碼大於 128 才能到漢字的範圍 我們在過濾 的時候,往往利用的思 路是將 轉換為 換的函式或者思路會在每一關遇到的時候介紹 因此我們在此想辦法將 前面新增的 除掉,一般有兩種...

SQL注入 報錯注入

乙個帶get引數的 並且不從資料庫返回資料,但存在報錯資訊 檢視字段情況 報錯注入語句格式 and 1 2 union select1,2,3 from select count concat floor rand 0 2 sql語句 a from information schema.tables...

SQL注入 報錯注入

sql注入基礎 盲注 用於注入結果無回顯但錯誤資訊有輸出的情況 floor函式 返回小於等於某值的整數,例如floor 1 則返回1,floor 1.9 也返回1 rand函式 生成隨機數.可指定seed,指定後每次生成的數都一樣即偽隨機,不指定seed則每次生成的隨機數都不一樣.通過floor和r...