mysql数据库sql注入原理_SQL注入的原理与相关知识点

题记

最近总是这样,每当我和他四目相交,目光总会先躲开一次,然后再次相视。 ------------青春之旅

注意

登录后台可以试试万能密码' or !false --

原理:当客户端提交的数据 未做处理或转义直接带入数据库就造成了SQL注入。

注入分为2大类

1.整型(没有单双引号)

2.字符串(有单双引号)

1、SQL注入的原理

SQL注入的漏洞产生必须满足以下两个条件

①参数用户可控:前端传给后端的参数内容是用户可以控制的。

②参数代入数据库查询:传入的参数拼接到SQL语句,并且代入到数据库查询。

2、与MySQL注入相关的知识点

在MySQL5.0之后的版本,MySQL默认在数据information_schema的数据数据库。在改数据库中我们需要记住三个表名,schemata,tables,columns。

Schemata表存储用户创建的所有的数据库的库名,我们需要记住schema_name字段。

91c09aaeaf92a25cf328c0dd57ac757b.png

Tables表存储所有数据库名和表名。

d23e9423e7a0cbe720020a0e305c9ce7.png

Columns表存储所有的数据库名、表名和字段名

22ad181a287c429b7bed9d74713bdd20.png

3、常用MySQL常用语句

Select 要查询的字段 from 库名.表名 where 字段名=值 and 字段名2=值

单行注释,#后面直接加内容 、 -- 后面直接加内容

多行注释,/**/中间可以跨

union联合查询:union操作符用于拼接两个或者多个select查询语句。union中前后2个查询必须拥有相同的列数。

order by num语句: 默认按照升序进行排列

3.1、常用的函数

user()   当前用户名

database()  当前所用数据库

version()     数据库的版本

3.2、字符串连接函数

1、concat(str1,str2..)直接连接

2、group_concat(str1,str2)使用逗号作为分隔符

3、concat_ws(sep,str1,str2)函数使用第一个参数作为分隔

4、substr() substr(string string,num start,num length);

5、LENGTH(str)返回字符串str的长度,以字节为单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值