美文网首页
如何判断是字符型注入还是数字型注入

如何判断是字符型注入还是数字型注入

作者: 二潘 | 来源:发表于2020-02-23 22:08 被阅读0次

前言

通常sql 注入漏洞会被分为2种类型
数值型
字符型
其实所有产生类型都是数据库本身表产生的,在我们创建的时候会发现其后面总有个数据类型限制,而不同的数据库有不同的数据类型,不管我们怎么分常用的数据类型总是以数值和字符来进行区分的。

如何区分

1)数字型
当输入的参数x为整型的时候,通常sql语句是这样的
select * from users where id =x
这种类型可以使用经典的and 1=1 and 1=2来判断
url地址中输入www.xxxx.com/ccc.php?id=x and 1=1
页面显示正常,继续下一步
url地址中输入www.xxxx.com/ccc.php?id=x and 1=2
页面错误,这说明存在数字型注入。
原因如下:
当输入and 1=1时,后台会执行sql语句是
select * from users where id =x and 1=1;
没有语法显示错误且\color{red}{逻辑判断为正确},返回正常
当输入and 1=2时,后台会执行sql语句是
select * from users where id =1 and 1=2;
没有语法错误且\color{red}{逻辑判断为假},返回错误

我们在使用假设:
如果是字符型注入的话,我们输入的语句应该会出现这样的状况
select * from users where id ='1 and 1=1'; select * from users where id ='1 and 1=2';
查询语句将and语句全部转换成字符串,并没有进行and的逻辑判断,所以不会出现以上结果,所以这个等式是不成立的。

2)字符型
当输入的参数x为字符型时,通常sql语句会这样的
select * from users where id ='x'
这种类型我们可以使用and '1'='1 和 and '1'='2来进行测试
www.xxx.com/ccc.php?id=1' and '1'='1
页面正常,继续下一步
www.xxx.com/ccc.php?id=1' and '1'='2
页面报错,则说明存在字符型注入。
原因如下:
当输入and ‘1’=‘1的时候,后台执行的语句是
select * from users where id='x' and '1'='1'
语法正确,逻辑判断正确,返回正确
当输入and ‘1’=‘2的时候,后台执行的语句是
select * from users where id='x' and '1'='2'
语法正确,逻辑判断错误,返回错误

字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。

相关文章

  • SQL injection基本流程 by L0st

    攻击流程 1. 判断是否存在注入,注入是字符型还是数字型 用1’ or 1=1#若返回正常则为字符型,否则用1 o...

  • sql注入的一些笔记

    注入分类 数字型注入 -字符型注入 搜索型注入 XX型注入 注入提交方式 -get提交-post提交-cookie...

  • 如何判断是字符型注入还是数字型注入

    前言 通常sql 注入漏洞会被分为2种类型数值型字符型其实所有产生类型都是数据库本身表产生的,在我们创建的时候会发...

  • 2020-07-13 SQL盲注(延时注入)

    思路:*判断是否存在注入,注入是字符型还是数字型*猜解当前数据库名*猜解数据库表名*猜解字段名*猜解数据1判断注入...

  • 2018-05-09 漏洞2.ASP+ACCESS SQL注入

    注入判断: 单引号:' 数字型:and 1=1 /and 1=2 字符型:' and '1'='1 ...

  • sql 注入笔记

    SQL注入 判断数字型和字符型还有闭合的原理 数字型的sql语句: 字符型的sql语句: 拿数字型来说,你不管在后...

  • sqlmap 使用步骤

    注入类型:字符型、数字型、搜索型 注入思路:1.检测是否存在注入 2.检测注入类型 3.构造注入语句 4.根据语句...

  • SQL常用注入语句

    1.判断是否存在注入,注入是字符型还是数字型 2.猜解SQL查询语句中的字段数 3.确定显示的字段顺序 4.获取当...

  • 如何判断是字符型注入还是整形注入

    1、数字型注入 当输入的参数为整形时,如果存在注入漏洞,可以认为是数字型注入。 测试步骤: (1) 加单引号,UR...

  • Less1

    基于报错的sql注入 字符型注入 数字型 括号型推测sql语句 **union ** 联合查询的方法,主要利用my...

网友评论

      本文标题:如何判断是字符型注入还是数字型注入

      本文链接:https://www.haomeiwen.com/subject/ijxeqhtx.html