SQL靶场练习

前言

之前进行了SQL注入的学习,这里找到安全龙的实验室进行一波小小的练习。

第一关

首先进行注入点测试。

练习
一般来说先加一个单引号(英文),来判断

这里地址栏自动转化了URL编码
输入“ ?id=1’ ”,回显为 “1” limit 0,1,其中1’是我们输入的内容,这时就变成了 ’ ’ 1‘ ‘ limit 0,1‘(蓝色字体为我们输入的内容),原单引号是闭合的(闭合是指,符号成对出现)

之前是第一个单引号与最后的单引号闭合,第二个单引号与第四个单引号闭合。现在我们输入的内容始终是在两个单引号之间,作为字符串进行处理,所以需要将第二个单引号进行闭合,就在1后面输入一个单引号,并将后面的内容进行注释,输入–+或者%23


回显正常

判断列数

使用order by(排序),来判断有几列数据,可以先猜猜看

猜一下应该 不会超过5个先写order by 5,发现回显错误,说明列数是小于5的。

之后慢慢的往下减少 发现到3时回显正确,说明列数为3

判断显示位(这里我们要将order by删除了 因为列数判断完了)

使用union联合查询判断显示位。

首先先使union前面的语句为假,这样就只会显示union后面的查询结果,输入 and 1=2(因为1=2恒为假),或者 id=-1’.

接着输入union后面的部分,因为union前后查询的字段数量是一样的,所以后面select就需要输入3个字段。

之后就是爆数据库

使用l连接函数group_concat(),此函数是将括号内字段的字段值以逗号作为分隔符打印在一行。

MySQL自带四个库,其中information_schema库下存放着数据库对象相关概要信息,比如字符集、引擎、数据库、数据表、视图、列、权限等,其中有重要的三个表,分别是:

(1)schemata表,存放着MySQL数据库下所有库的信息,show databases命令的结果就是来自于这个表。此表有五列,分别是:

catalog_name、schema_name、default_character_set_name、default_collation_name、sql_path,其中schema_name列存储的就是MySQL数据库下所有库的名字(爆数据库名用到此表);

(2)tables表,此表提供了关于数据库中的表的信息(包括视图),重要的两个列,一是table_schema:表所属数据库的名字,二是table_name:表的名字(爆表名就要用到此表)。

(3)columns表,此表提供了表中列的信息,详细表述了某张表的所有列以及每个列的信息,重要的三个列,一是table_schema:字段所属数据库的名字,二是table_name:字段所属数据表的名字,三是column_name:字段的名字(用此表爆字段名)。

所以爆数据库的语句是:

union select 1,group_concat(schema_name),3 from information_schema

爆出所有数据表名称

查询我们当前所在的数据库名,我们就用此数据库来爆其他信息。

使用database()函数,查询当前数据库名称

接下来

爆表名
上一篇之前使用过的语句
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=’security’

发现这些表中有一个users表,user 用户 来搞一波,下一步我们就爆此表的字段。

爆字段
接续
union select 1,group_concat(column_name),3 from information_schema.columns where table_name=’users’

这样一下爆数据

根据以上操作,我们知道了数据库是security,表示users,字段是username及password,所以我们现在就来搞一波用户名和密码。

总结

其中虽然是做完了,中间个人还有语句上的疑问与错误,还需要继续理解一番。还是需要加大练习量 需要继续理解暂时先放这一个。

PS: 基本流程

  1. 判断注入点
  2. 判断列数
  3. 接着爆库
  4. 爆表
  5. 爆字段
  6. 接着就爆数据

  转载请注明: Greypotato SQL靶场练习

 上一篇
南邮CTF web练习 南邮CTF web练习
前言 还是南邮的一些题,比较基础的。仍然需要学习一些web知识,上次做着做着 因为证书的问题burp还没有解决。。正在努力尝试解决这个问题。。。这次估计用到burp 的题 还是动不了了。。。 web1:/0xx 点开题目链接后发现是代码审计
2019-07-26 Greypotato
下一篇 
南邮CTF-WEB-writeup 南邮CTF-WEB-writeup
WEB题签到题 打开界面看到:key在哪里? 签到题都不会很难,查看源代码。 md5 collision 首先还是先看看题 题目提示给出了MD5 中间又有 md51=md52 看到前面有QNKCDZO 那么很显然啊 就是找到和‘QNKC
2019-07-19 Greypotato
  目录