mysql数据库基础
目录
-
mysql的增删改查
-
mysql的information_shcema介绍
-
mysql的重要函数(相对于sql注入)
一. mysql的增删改查
1. mysql数据库的简单操作
show databases 查看所有数据库
create database 数据库名 创建数据库
use 数据库名 使用数据库
create table users( 创建数据表
id int,
username char(20),
password char(20));
show tables 查看当前数据库的所有表
desc tableName 查看数据表的字段信息
2. 在数据表中增加数据
insert into tableName (column1,column2,column3,......) values (data1,data2,data3,......),(data4,data5,data6,......),......
3. 在数据表中查询数据
select column1,column2,column3 from tableName
约束字段:where 在前面查询出来的数据中挑选符合条件的数据
4. 在数据表中修改数据
update tableName set column2=data2,column3=data3 where column1=data1
5. 在数据表中删除数据
delete from tableName where columnx=datax
二. mysql的information_schema介绍
1. information_schema数据表基本信息
information_schema数据库:information_schema出生与mysql5.0版本;自mysql5.0版本后mysql自带储存数据表中所有信息的表——information_schema ; information_schema数据库为sql注入提供了方面,information_schema数据库下的tables表储存了mysql数据库中所有的数据包,information_schema数据库下的columns表储存了mysql数据库中所有的字段,tables表与columns表是sql注入中主要围绕的表。当mysql版本<5.0时,sql注入使用枚举;当mysql版本>5.0时,sql注入使用查询。
2. information_schema数据库
use information_schema 使用information_schema表
show tables 查询information_schema下所有的表
desc tables 查看tables表字段信息
desc columns 查询columns表的字段信息
3. tables表与columns表的重要字段名
在这两个表中相同元素字段名大致相同
schema_name 数据库名
table_name 表名
column_name 字段名
三. mysql的重要函数(sql注入)
1. 获取信息函数
version() 获取数据库版本
database() 获取当前数据库名
user() 获取当前用户名
@@basedir 获取当前数据库的安装路径
2. 注入相关函数
联合查询注入:
concat() 横向合并函数
group_concat() 纵向合并函数
limit 0.1 限制输出数目函数
order by x 排序函数(猜解字段数)
盲注:
length() 查询字符串数目
mid(str,start,leng) 截取指定长度的字符串
ascii() 将字符串转换为ascii编码
sleep() 延时函数
if() 条件语句
3. 漏洞利用
需要条件:
secure_file_priv不为null
show global variables like '%secure%'; 查看secure_file_priv状态 修改my.ini可进行更改
数据库用户具有读写权限
应用函数:
load_file() 读取文件
into outfile() 写文件