sql注入入门必看!一篇文章快速判断是字符型注入还是数字型注入

字符型注入和数字型注入和的区别

我个人的理解是这两者的区别在于你所查询的数据类型不同,数据类型不同会导致你需要构造的注入的语句不同。

数字型注入

如果是数字型注入我们可以通过简单的逻辑等式判断,构造语句?id=1 and 1=1 和 ?id=1 and 1=2 。
这样构造的话我们来看看后台实际上SQL语句是怎么样的:

select * from table_name where id=1 and 1=1
select * from table_name where id=1 and 1=2
第一个语句是永真式,所以页面回显正常,第二个为永假所以页面回显不正常

字符型注入

如果是字符型注入那么SQL语句我们可以用上面的语句构造吗?显然是不行的,若是按照上面的构造方法后台应该是这样的:
select * from table_name where id='1 and 1=2'
这样一来1 and 1=2 就变成了一个字符串,不能进行逻辑判断。

我们可以尝试一下构造:?id=1’ and ‘1’=1’ 和 ?id=1’ and ‘1’='2,这么做的目的是什么呢?我们来看一下在后台执行的语句应该是什么样的
select *from table_name where id ='1' and '1'='1'
select *from table_name where id ='1' and '1'='2'

分析一下上面的两个语句,因为字符型输入是需要用单引号包裹起来的,所以通过这样构造来判断是否是字符型注入,若是字符型注入的话第一条语句页面回显应该是正常的(逻辑永真),第二个页面回显应该是不正常的(逻辑判断为假)

hm……要是有啥讲错了的或者没注意到的欢迎大佬们斧正!

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值