7、渗透学习之Mysql注入基础知识点

一、Mysql 5.x数据结构

在Mysql 5.0以上的版本中,为了方便管理员,默认定义了 information_schema数据库,用来存储数据库元信息。其中具有表 schemata(数据库名)、tables(表名)、columns(列名或字段名)

在schemata表中,schema_name字段用来存储数据库名。

在tables表中,table_schema和table_name分别用来存储数据库名和表名。

在 columns表中,table_schema 和 table_name 分别用来存储数据库名和表名。

在columns表中,table_schema(数据库名)、table_name(表名)、column_name(字段名)

information_schema.tables 记录表名信息的表
information_schema.columns 记录列名信息的表
数据库中“ . ” 代表下一级的意思

表名 关键字段
schemata schema_name[数据库名]
table table_schema[数据库名] table_name[表名]
columns table_schema[数据库名] table_name[表名] column_name[列名]

img

二、SQL增删改查

查询:
SELECT 列名称 FROM 表名称 WHERE 字段1 = '条件1' AND 字段2 = '条件2'
例: select * from admin where username = 'admin';
插入:
INSERT INTO table name ( 列1 、列2 ... ) VALUES (值1 、值2 ....)
例: insert into admin(id,username,password) values(3,'admin3','admin3');
更新:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
例:update admin set password = 'admin4' where username = 'admin3';
删除:
DELETE FROM 表名称 WHERE 列名称 = 值
例:delete from admin where username='admin3';

三、Mysql常用函数

Mysql 中常用的聚合函数有一下:
user():查看当前Mysql登录用户名
database():查看当前使用Mysql数据库名
version():查看当前Mysql版本

扩展
limit 关键字 limit m, n 从m行开始,到 m+n 行。
例:select * from admin limit 2,2;

四、注释

注释符:在Mysql中常见的注释符表达式:# 或 --空格 或 //
内联注释:/! SQL语句 / 只有Mysql 可以识别,常用来绕过WAF
例:select * from articles where id = id
使用内联注释注入:select * from articles where id = -1 /
!union
/ /!select/ 1,2,3,4

posted @ 2021-05-28 15:46  流失流逝  阅读(154)  评论(0)    收藏  举报