SQL注入 MySql查詢基礎

2021-10-04 03:16:10 字數 3420 閱讀 7826

登陸

mysql -u root -p
退出

exit
(1)檢視所有資料庫

mysql> show databases;

+--------------------

+| database |

+--------------------

+| information_schema |

| mysql |

| performance_schema |

+--------------------

+3 rows in set

(0.00 sec)

從元資料中查詢所有資料庫

mysql> select schema_name from information_schema.schemata;
(2) 檢視限定資料庫

(2、1)全名:

mysql> show databases like 'mysql'

;+------------------

+| database (mysql)

|+------------------

+| mysql |

+------------------

+1 row in set

(0.00 sec)

(2、2)特定字元結尾:【%: 表示任何字元出現任意次數 (可以是0次)】

mysql> show databases like '%sql'

;+-----------------

+| database (

%sql)

|+-----------------

+| mysql |

+-----------------

+1 row in set

(0.00 sec)

(2、3)特定字元開頭:

mysql> show databases like 'my%'

;+----------------+

| database (my%)|

+----------------+

| mysql |

+----------------+

1 row in set

(0.00 sec)

(2、4)限定字元個數按規定排列【_表示只匹配單個字元,不能多也不能少】

mysql> show databases like '_y_ql'

;+------------------

+| database (_y_ql)

|+------------------

+| mysql |

+------------------

+1 row in set

(0.00 sec)

選定資料庫:

use db_name
(3)檢視表

查詢當前使用use後連線的資料庫db_name的表。【使用from db_name可以不先使用use選定資料庫】

show tables 【from db_name】;
從表元資料中查詢【資料庫為db_name】所有表名

mysql> select table_name from information_schema.tables 【where table_schema='db_name'】;
返回所有資料

mysql> select

*from information_schema.tables where table_schema='mysql'

;

舉栗子:

(3、1)不使用use選定資料庫檢視表

mysql> show tables from mysql;

mysql> show tables from mysql like 'h%'

;mysql> select table_name from information_schema.tables ;

mysql> select table_name from information_schema.tables where table_schema='mysql'

;mysql> select table_name from information_schema.tables where table_schema='mysql' and table_name like '%b'

;mysql> select table_name from information_schema.tables where table_schema='mysql' and table_name like '_s_r'

;

(3、2)檢視表前先use選定資料庫:

mysql> use mysql;

database changed

mysql> show tables;

檢視所有表mysql> show tables;

(4)查詢字段

show 【full】 columns from db_name.table_name

mysql> show columns from mysql.db;
使用前使用use選定資料庫

mysql> show 【full】 columns from db;
從列元資料中查詢【條件為資料庫為mysql,表名為db的】欄位名

mysql> select column_name from information_schema.columns where table_schema='mysql' and table_name='db'

;

檢視表結構

describe 【desc 】 table_name
(5)查詢字段內容

select column_name from db_name.table_name

mysql> select db from mysql.db;
mysql> select column_name from db_mane;【使用前用use選定資料庫】

mysql> select db from db;

sql注入基礎 mysql聯合查詢方法

講在前面 網上有很多關於對sql注入的講解,但是最後還是覺得自己總結一下更好一些,也希望自己寫的把這一塊講的比較清楚,來幫助可能對sql注入的原理,產生原因,以及payload有寫模糊的人。也歡迎大佬們及時斧正,一起交流 學習sql注入首先要對sql語法有乙個基本的了解,只少要對掌握sql的查詢語句...

SQL注入 聯合查詢注入

注入條件 頁面有顯示位,即在乙個 的正常頁面,服務端執行sql語句查詢資料庫中的資料,客戶端將資料展示在頁面中,這個展示資料的位置就叫顯示位。找的注入點 查詢列數 找到顯示位 獲取列中的資訊 注入點 查詢列數 order by 猜測的列數 order by 11 返回正常,有11列 order by...

sql注入基礎

mysqli 轉義字串函式 mysqli real escape string db,string mysqli 預編譯 拼裝sql語句 把要進行的操作的sql語句提前寫好,把需要改變的元素變成佔位符 select id,username from user where user name and ...