Sql盲注与普通注入的区别

Sql盲注与普通注入的区别

          在学习sql注入的时候,好多同学都是不弄清楚原理,去浏览器上狂搜一下注入语句,就开始对老师给的靶机注入,虽然能注入成功,但是不清楚原理,对以后的学习和工作没有多大的好处。现在我就讲一下sql盲注与普通注入的区别!

    首先,何为sql盲注?可能这个问题一下子就把你问蒙蔽了。

    盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。

         我们拿两个靶机来讲一下盲注与显错式注入的区别吧

首先是第一个靶机,shop靶机

当我们看到id=485的时候,首先要想到的是这个可能是个注入点,接下来我们测试一下

当在该url后面加一个'时出现没有此商品

当在后面加 and 1=1 时

看到并没有什么错误,再输入and 1=2时发现报错了

这说明我们后面输入的语句被服务器执行了   而且是一个数字型的注入

那我们现在开始盲注,判断它目前使用的数据库吧  在后面输入

and exists(select count(*) from admin)

这句话的意思是判断这个网站有没有这个表

我们可以看到返回的是TRUE  因为页面没有发生变化

我们再输入 and exists(select count(*) from hahaha)试试

发现返回的是FALSE

盲注就是这样  页面只能返回TRUE和FALSE  TRUE说明我们注入是正确

下面再看另一个靶机  dvwa

我们提交 1 发现返回有两列  我们再输入 1'

就开始报错了  这种为显错式注入  我们可以根据它报的错误走入正轨,这报的错误为‘附近有语法错误  我们可以确定这是一个字符型注入  我们可以直接把它的数据库给返回出来  如输入 1' union select 1, database()#

但是盲注就不能把数据库给返回出来  我们只能一点一点的猜测

  • 13
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值