SQL注入之報錯型注入

2021-08-15 18:35:50 字數 1892 閱讀 1001

一般是在頁面沒有顯示位、但用echo mysql_error();輸出了錯誤資訊的時候使用,

它的特點是注入速度快,但是語句較複雜,不能用group_concat(),只能用limit依次猜解

count(*)、rand()、group by三者缺一不可

報錯注入用乙個公式,只要套用公式即可,公式如下:

?id=2' and (select 1 from (select count(*),concat( floor(rand(0)*2),(select (select (爆錯語句)) from information_schema.tables limit 0,1))xfrom 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注入

最近一直在看sql,xss,檔案上傳之類的漏洞,沒有抽出空來寫寫部落格 上次總結了sql注入比較基礎的整型和字元型的注入,今天就總結一下報錯型的sql注入,等下次有時間了在寫一些,布林型的和時間型的盲注 關於報錯型的注入,是在當注入對時不顯示想得到的資料或者說注入對的時候只會有一種反應,但當注入錯誤...

SQL注入之報錯注入

固定語句公式 union select 1 from select count concat floor rand 0 2 注入爆資料語句 a from information schema.tables group by a b 假如id輸入存在注入的話,可以通過如下語句進行報錯。mysql se...

SQL注入之報錯注入

0x01 報錯注入 在實際場景中,沒有乙個資料的返回資訊點。此時需要用報錯注入使其顯示出注入資訊。使用到報錯注入的場景有 普通報錯注入,即沒有資料返回點 insert注入 update注入 delete注入 0x02 常用到的兩個報錯函式 updatexml 和extractvalue 函式 0x0...