SQL注入—MYSQL基础语句(持续更新)附图

SQL注入—mysql基础语句

简介:常见的Web安全漏洞中,SQL注入利用和危害极大,通过其可以直接获取数据表的内容,从而获得Web站点的账号和密码,在学习SQL注入时,我们需要先对常见的数据库基础进行学习和了解。

MYSQL基础语句

一:数据库操作

1,在当前数据库管理系统中创建/删除数据库:create/drop dadabase websec;
2,查看当前数据库管理系统下所有数据库:show databases;
3,使用(进入)操作的数据库,use websec;
在这里插入图片描述

二:数据表操作

1,创建数据表:create table websec(id int(20) primary key AUTO_INCREMENT,name char(10) NOT NULL,sex char(10) NOT NULL);
2,查看当前数据库下的所有数据表:show tables;
3,查看数据表的内容:select * from websec;
4,删除数据表:drop table websec;
5,查看数据表属性:desc websec;
在这里插入图片描述

三:数据表中数据的增删改查(重要)

1,数据增加(insert into):
添加一行:insert into websec(id,name,sex)values(1,'zhangsan','boy');
添加两行或多行:insert into websec(id,name,sex )values(2,'xiaoming','boy'),(3,'lisi','girl');
在这里插入图片描述
2,数据删除(delete)
删除id为1的那一行:delete from websec where id=1;
在这里插入图片描述
数据修改(update):
将id=2的姓名修改为xiaozhang:update websec set name='xiaozhang' where id=2;
在这里插入图片描述
数据查看(select):
查看数据表的所有内容:select * from websec;/select id,name,sex from websec;
在这里插入图片描述

四:SQL注入中mysql常见函数

1,查看当前系统用户名/连接数据库用户名select user();
在这里插入图片描述
2,查看当前数据库名称和版本名称:select database();版本:select version();
在这里插入图片描述
3,读取当前数据库路径和安装的路径:读取数据库路径:select @@datadir ;安装数据库路径:select @@basedir;
在这里插入图片描述
数据表和数据库所在路径:
在这里插入图片描述
4,查看数据库所在当前操作系统版本: select @@version_compile_os;
在这里插入图片描述
5,从查询到的文本字段中截取某些字段函数mid() 如果此处函数中查询的是变量则不需要添加双引号,如果是直接的字符串,则需要通过双引号引起来,如下举例场景为变量,不需要添加双引号
函数格式及说明:mid(column_name,start,length)
column_name:必须,表明要查询的列名下的内容
start:必须,开始的节点,默认从1开始
length:可选,从开始的节点总共截取几个长度,如果省略表明展示剩下所有的字符
举例select mid(name,1,5) from websec where id=1;(查看websec表中,id等于1和name列下的字符串,并截取1到5的字符并显示出来)
在这里插入图片描述
在这里插入图片描述
6,limit()返回前几条或中间某几行数据
举例select * from websec limit 0,1;其含义是将查看显示出来的数据进行分部展示,通常使用在SQL注入中显示结果过多,但是每次只能显示一部分的情况下(这里的含义就是,查看表websec的全部内容,然后显示以索引0开始,长度为1的结果,和mid()函数的意思挺相似。
在这里插入图片描述
7,conut()函数:聚集函数,统计个数下图表示查看websec表中有多少行数据
在这里插入图片描述
8,rand()函数:用于产生一个0-1的随机数
在这里插入图片描述
9,floor()函数:向下取整
在这里插入图片描述
10,group by:依据我们想要的规则对结果进行分组:默认会将重复的数据行合并,只输出一个类型,如下
在这里插入图片描述

11,length()函数:返回字符串的长度。通常一个中文字符是2个字节,一个英文字符一个是一个字节
举例:
在这里插入图片描述

12,substr()函数:截取字符串
格式:substr(截取的字符串,开始的截取节点,截取的长度)
举例:
在这里插入图片描述

13,ASCII()函数:返回字符串的ASCII码
举例:select ascii(A);
在这里插入图片描述
总结:不管是mid函数,limit函数,substr函数,其后面跟随的参数都是通过某个地方开始,截取某个长度,区别不同的是mid和substr函数只能从1开始,而limit可以从0开始。

五:MYSQL数据库中注释符

1,常见注释符(#,--,/**/),#后面的内容被注释掉,通常#和–用于单行注释,/**/用于多行注释
在这里插入图片描述
2,内联注释
查询当前数据库版本信息:
/*select*/ version(); 不执行,因为select被注释
在这里插入图片描述
/*!select*/ version(); 被执行,因为!select被解析
在这里插入图片描述
/*!50000select*/version();也可以被执行
在这里插入图片描述

六:常见绕过过滤

1,空格绕过:
可以使用“+”,“/*内容*/”和“%0a,%0d”代替空格
2,分割SQL语句:
使用/**/%00%01%分割SQL语句

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值