一.SQL靶场搭建
(一)phpstudy
1.下载小皮phpstudy
从软件管理中安装需要的web,数据库,php版本
2.github官网下载sqli-labs环境,复制到phpstudy根目录下面解压缩
由于sqli-labs需要很多php5.x的版本,最好从更多版本中下载一个5.x的php版本
并重命名为sql
3.启动apache,MySQL
并以管理员身份打开命令提示符,ipconfig命令找到ip,web打开本地回环地址
同时将sql文件夹里的sql connections db文件里的密码一栏改为小皮里的密码(默认用户名和密码均为root)
记事簿里修改后保存
网址后面加\sql
点击less1,进入后网址后加?id=1 成功登录,之后可以进入靶场正常操作
(二).phpMyAdmin
1.小皮内搭建phpmyadmin
注意将版本改为7.3.4,不然不兼容
2.登录
~#mysql -u root -p#输入密码登录数据库
可以从命令行登录,也可直接从管理按钮处进入
二.SQL基本代码
1.数据库
show databases; #查看数据库
create database 数据库名称(employees) charset utf8; #创建数据库employees并选择字符集
drop database 数据库名称(employees); #删除数据库employees
use employees; #选择进入数据库employees
2.数据表
CREATE TABLE employee
(id int ,
name varchar(40),
sex char (4),
birthday date ,
job varchar(100)
);
#新建数据表employee
select * from employee;
#查看数据列表
执行后页面如下
show full columns from employee;
#查看数据表employee信息
drop table employe;
#删除数据表
rename table employee to user;
#修改数据表名称为user
INSERT into user
(
id,name,sex,birthday,job)
VALUES
(
1,'ctfstu','male','1999-07-13','it');
#插入内容
alter table user add salary decimal(8,2);
#增加一列内容
update user set salary=5000;
#修改所有工资为5000
update user set name='benben' where id=1;
#修改id=1的行name (ctfstu)为benben
update user set name ='benben2',salary=3000 where id=1;
#修改id=1的行name为benben2,工资为3000
alter table user drop salary;
#删除列
delete from user where job='it';
#删除行
delete from user;
#删除表
3.sql查询
基础查询词语:select , from , where
基本查询语句:
select * from user where id=1;
#select+列名(*代表所有)+from+表名+where+条件语句;
select * from user where id in ('');
#从user表格查询所有包含id=''的列
select * from user where id=(select id from user where username=('admin') );
#子查询 优先执行()内查询语句
查询参数指令:union , group by , order by , limit , and , or
select id from user union select email_id from emails;
#查询并合并数据显示
select * from user where id=6union select * from emails where id=6;
#ERROR:注意联合查询前后表格列数必须相等
select * from user where id=6 union select * ,3 from emails where id=6;
#如果此时user两列,emails三列,3为填充剂
select username from users group by username;
常用函数:group_concat() , database() , version()