SQL注入之查询方式及报错盲注

思维导图

在这里插入图片描述1、SQL盲注

  • 基于报错的SQL盲注-报错回显
    floor,updatexml,extractvalue
    解释:在注入时,网站不会进行回显数据,只能判断成功与否,可以通过报错回显的方式,把需要获取的信息进行回显(表面上看页面是报错页面)
    在这里插入图片描述·注入的时候,要根据SQL语句类型,进行注入,可以利用 两个or进行顺势的添加注入语句。 使用bp抓包时,可以使用+或者%20来代替空格
    在这里插入图片描述
    注入语句详见链接)https://www.jianshu.com/p/bc35f8dd4f7c

  • 基于时间的SQL盲注-延时判断
    if,sleep
    解释:SQL盲注的时候,页面不会进行回显数据,可以利用if sleep这两个函数,通过猜的方式,来获取信息。即:根据休眠的时间来判断猜测是否正确。
    思路:主要是这个步骤
    猜测数据库名、表名、列名,进行数据获取
    (先判断字符长度,然后逐个的进行判断,因为顶多就是a-z、1-9,利用ASCII码更方便)
    缺点:过于繁琐,但使用工具便捷。
and if(ascii(substr(database(),1,1))=115,sleep(5),1)--+
and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101,sleep(3),0)--+

  • 基于布尔的SQL盲注-逻辑判断
    regexp,like,ascii,left,ord,mid
    解释:通过使用left等函数,进行判断猜测的是否正确,和延时盲注有相似之处。

常见方法

like ‘ro%#判断ro或ro…是否成立
regexp^xiaodi[a-z]#匹配xiaodi及xiaodi…等
if(条件,5,0) #条件成立 返回5 反之 返回0
sleep(5) #SQL语句延时执行5秒
mid(a,b,c) #从位置b开始,截取a字符串的c位
substr(a,b,c) #从b位置开始,截取字符串a的c长度
left(database(),1)database() #left(a,b)从左侧截取a的前b位
length(database())=8 #判断数据库database()名的长度
ord=ascii ascii(x)=97 #判断x的ascii码是否等于97
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值