SQL注入-SQL数据库操作基础

一、MySQL(MariaDB)基础操作

1.连接数据库

输入命令:mysql -u root -p

出现enter password:提示,由于root密码为空,可直接回车登录

出现下图

2.显示系统中所有数据库的名称

接着输入:show databases;

 注意:绝大多数SQL命令都以分号作为结束符,请不要遗漏。

3.新建数据库student

命令:

create databse student;

 建立成功后,可再次使用show databases;命令查询。

 

 会发现我们建立的数据库student已经有了。

4.使用数据库student

命令:use student;

 5.在数据库student中创建表test1

命令:create table test1(

aa varchar(10),

bb int,

cc int);

 6.在表test1中添加数据

 insert into test1 values('yy',123,2345);

insert into test1 values('ee',123,2345);

然后查看一下 select * from test1;

 

 7.在表test1中删除1条数据

delete from test1 where aa='yy';

 再用命令select * from test1;查看发现已经删除了。

8.修改表test1中的1条数据

命令:update test1 set bb="456" where aa='ee'; //在aa的位置修改bb的数据

 查看后发现bb下数据已经从123变成456了。

9.查询表test1中的数据

例如:select * from test1;

 select bb,cc from test1;  //查询表中bb和cc字段。

 select bb from test1 where bb="456";

或者select cc from test1 where bb="456";    //查看具体的数据

 二、MySQL进阶操作

1.order by的用法

 select * from test1 order by cc desc;

或者select * from test1 order by bb desc;

 观察发现变化 //desc表示降序(递减);如果从低到高(升序)的话,则可以将desc换成asc。如果不加参数,默认情况下按升序方式排列。

再分别尝试以下命令: select aa,bb,cc from test1 order by 1;

select aa,bb,cc from test1 order by 2;

 再尝试select aa,bb,cc from test1 order by 3;

select aa,bb,cc from test1 order by 4;

 发现第四个命令报错,由此得出结论:select c1,c2,cn... from test1 order by m;

order by后面的数字m必须小于或等于n(数据库查询的字段数),才能正常显示。

2.limit的用法

基本格式为:

limit m,n //表示从第m+1条数据开始,顺序往下查询n条数据。

limit m  //表示查询前m条数据。

尝试执行以下两条命令

 3.union select的用法

select * from test1 union select 1,2,3;

 结果是select * from test1 union select 1,2,3,;查询结果的拼接。

尝试以下三个命令

select aa,bb,cc from test1 union select 1,2,3;

select aa,bb,cc from test1 union select 1,2;

select aa,bb,cc from test1 union select 1,2,3,4;

 得出后两个命令报错,所以说命令:select c1,c2,...,cn from test1 union select d1,d2,..dm;

后半句union select查询的字段数m必须与前半句select查询的字段数n相等,数据库才能正常显示。

尝试以下命令:select aa,bb from test1 where aa=1 and 1=2 union select bb,cc from test1;

 从以上结果得出结论,在已知字段名的情况下,攻击者只要将该字段置于任何能够显示的位置,就可以暴露该字段的值。

4.union select结合information_schema数据库

尝试执行以下命令

 两条结果相同

再执行两条命令

 两条命令结果相同。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值