理论篇8:SQL注入(字符型注入和数字型注入)

目录

注释符的概念

判断MYSQL语句闭合方式:      

sql的注入可以分为数字型,字符型。

数字型

字符型

判断MYSQL注入闭合方式:

方法二:

删除单引号之前

删除单引号之后

原因:

原因:

Mysql中 int(3) 类型的含义


MYSQL语句一个很重要的概念:成对出现

注释符的概念

使用注释符,mysql注释符有#、-- -(或者--+-)、/**/三种

注释符#,-- -(--+-)都是把后面的语句全部注释掉了,而内联注释/**/则是注释指定部分,需要一前一后闭合。

被单引号' '包括的字符无实际意义

 注释符“-- -“将它后面的——' LIMIT 0,1全部注释掉了,而程序编译时,不对注释作任何处理,所以程序执行时只执行到SELECT * FROM users WHERE id='1',这里。

判断MYSQL语句闭合方式:      

       闭合的概念:MYSQL数据库的包容性较强,如果输入了错误的数据类型,MYSQL数据库会自动将其转换成正确的数据类型,

       如:输入   1)、1"、1-等,只要数字后面的字符不是闭合符的,数据库都会把你输入的错误数据类型转换成正确的数据类型
       但是,若输入的数字后面的字符恰好是闭合符,则会形成闭合,若闭合后形成的sql语句是错误的,那么sql语句执行就会错误,从而造成页面显示错误。

sql的注入可以分为数字型,字符型

简单分辨方法:

看\斜杠后面跟着的字符,是什么字符,它的闭合字符就是什么,若是没有,就为数字型。

数字型

测试步骤:

1、加单引号,URL:xxx.xxx.xxx/xxx.php?id=3'

对应的sql:select * from table where id=3' 这时sql语句出错,程序无法正常从数据库中查询出数据,就会抛出异常;

2、加and 1=1 ,URL:xxx.xxx.xxx/xxx.php?id=3 and 1=1;

对应的sql:select * from table where id=3' and 1=1 语句执行正常,与原始页面没有差异;

3、加and 1=2,URL:xxx.xxx.xxx/xxx.php?id=3 and 1=2;

对应的sql:select * from table where id=3 and 1=2 语句可以正常执行,但是无法查询出结果,所以返回数据与原始网页存在差异;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值