sql注入(判断字符型/数字型)

目录

字符型

数字型

字符型闭合方式

less-1

less-4


sql注入常见类型包括字符型和数字型(json这里不介绍)

以sql-labs靶场为例;

字符型

 less-1:输入参数id:

 这里我将sql查找语句一起输出了;

我们发现有回显,说明在myql中进行了交互,可以进行注入;

#判断是否是数字型注入
and 1=1  #回显
and 1=2  #不回显

 

 两个都有回显,说明不可能是数字型;因为数字型使用逻辑条件and 1=2条件为假,不会回显;

但字符型使用and 1=1或者and 1=2只是把它当成了字符,而不是进行逻辑判断;

 这里只输入1 and都可以正常回显,说明在字符型查找id,只会查找前面的数字;

这样我们就可以判断出这就是字符型;

数字型

less-2:

输入and 1=1有回显,and 1=2就没有回显,可以直接判定是数字型

(这里黄色输出是我将php源码中$sql语句也输出了,这样看起来更直观)

字符型闭合方式

判断出less-1是字符型后,还需要判断是哪种闭合,常见闭合包括

单引号,双引号,括号,以及这几种组合

less-1

尝试双引号闭合

发现能回显,说明不是这种闭合;

 用单引号闭合发现错误,观察报错信息,1'后面还有个',说明就是'闭合

用--+注释掉后面内容

成功回显 ,说明就是单引号闭合

less-4

再来看less-4,先看源码:

 这里用到了("$id")两种字符组合

第一步:我们继续假设用单引号闭合

有回显,说明不可能是这种闭合;

第二步:尝试双引号闭合

产生报错,可能是这种闭合,原因:我们注入的双引号与前面的闭合了,而后面的符号")无法闭合,所以产生报错

通过报错信息得知是")是这两种闭合

第三步:尝试")闭合

 第四步:用and 1=2确认

无回显,无报错,说明就是")闭合

成功确认闭合方式 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值