含義
sql注入是將代碼插入(拼接)到應(yīng)用(用戶)的輸入?yún)?shù)中彬坏,
之后再將這些參數(shù)傳遞給后臺的SQL服務(wù)器加以解析并執(zhí)行的攻擊,
總結(jié)起來就是攻擊者將惡意代碼拼接到sql語句并加以執(zhí)行從而得到數(shù)據(jù)的過程工扎。
成因
SQl語句未對用戶參數(shù)進行嚴格過濾
可引發(fā)注入的地方
其實只要是客戶端可控萝快、參數(shù)值代入數(shù)據(jù)庫查詢的地方都可能存在注入
常見的如下茬缩,按出現(xiàn)頻率排序:
1. GET
2. POST
3. X-Forwarded-For
4. Cooke
5. User-Agent
注入分類
根據(jù)語法(較權(quán)威):
1. 可聯(lián)合查詢注入:
只要頁面有顯示位即可使用序宦,且注入速度很快
2. 報錯型注入:
沒有顯示位但用echo "mysql_error()"輸出了錯誤信息,速度很快为狸,但是語句較復(fù)雜
3. 布爾型注入:
一次一個字節(jié)歼郭,速度慢,但只要有注入就能用
4. 基于時間延遲注入:
超級慢辐棒,比布爾型注入慢幾倍病曾,但是通用性較強
5. 可多語句查詢:
只有SQL Server可以使用
根據(jù)類型:
1. 整形
2. 字符串型
3. 搜索型
查找注入點
在URL中:
1. and 1=1/and 1=2(整型)
2. 隨即輸入(整型)
3. -1/+1 回顯上下頁面(整型)
4. 單引號(字符型/整型)
5. and sleep(5) (判斷頁面返回時間)
在http頭:
1. X-Forwarded-For
2. Cookie
3. User-Agent
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者