sqli-labs过关

sqli-labs靶场搭建

1、安装phpstudy

直接在官网下载就可以,地址:【https://www.xp.cn/download.html】

安装好phpstudy后,启动apache,mysql环境。

在这里插入图片描述

2、然后去下载一个5.X版本的php,因为php7版本以上抛弃了mysql_系列函数,转用mysqli系列函数,所以用php7版本以上安装的时候就会报错

在这里插入图片描述

3、在【https://codeload.github.com/Audi-1/sqli-labs/zip/master】下载 sqli-labs 源码。

下载完成后,将源码解压至如下的目录

在这里插入图片描述

这里我是把文件 sqli-labs-master 改名成了 sqlilabs

4、查看phpstudy里的php数据库的用户密码

在这里插入图片描述

5、去如下目录中找到db-creds.inc,然后修改密码,这里的密码要与上条中数据库的密码一样。

在这里插入图片描述

在这里插入图片描述

6、创建sqli-labs网站

在这里插入图片描述

7、以上步骤完成后输入127.0.0.1进入靶场,点击下方所指示的,初始化数据库

在这里插入图片描述

在这里插入图片描述

然后即可开始练习

在这里插入图片描述

sqli-labs关卡复现

Less-1

在这里插入图片描述

看题,提示你输入数字值的ID作为参数,我们输入?id=1

在这里插入图片描述

输入的数值不同,回显内容也不同,所以输入的内容是带入到数据库里面查询了

在这里插入图片描述

接下来,判断 Sql 注入漏洞的类型:

1.数字型
2.字符型

其实所有的类型都是根据数据库本身表的类型所产生的,在我们创建表的时候会发现其后总有个数据类型的限制,而不同的数据库又有不同的数据类型,但是无论怎么分常用的查询数据类型总是以数字与字符来区分的,所以就会产生注入点为何种类型。

数字型判断:

用 and 1=1 和 and 1=2 来判断:

1.Url 地址中输入 ?id= x and 1=1 页面依旧运行正常,继续进行下一步。

2.Url 地址中继续输入 id= x and 1=2 页面运行错误,则说明此 Sql 注入为数字型注入。因为逻辑判断错误。1并不等于2。

当我们进行上述所说的判断时,会发现此时页面显示正常,说明不是数字型注入漏洞

在这里插入图片描述

在这里插入图片描述

字符型判断:

概述:当输入的参数为字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号或其它特殊符号来闭合,而字符串一般需要通过特殊符号,如单引号来闭合的。

如果一条后台语句为:$sql=“SELECT * FROM users WHERE id='1 ’ LIMIT 0,1”,这里的“1”被加上了单引号,使我们无法查询

我们可以通过在URL地址栏输入?id=1’ 来判断是否是字符型注入,

在这里插入图片描述

输入?id=1’,这时候1后面的单引号把原本语句的一对单引号隔开了,变成了?id=‘1’',多出了一个单引号,正常来说,包裹着id变量的单引号是成对,这样的语句结构没有问题的,多出了一个单引号就报错了破坏了原本的sql语句结构,并且这条语句被带进数据库进行查询,数据库由于无法处理这条 ‘非正常’ 的语句,所以也就报错了,由于数据库和前端页面是交互的,所以前端页面也会出现异常或者报错,会报错说明这条语句成功被带进数据库查询,存在字符型注入

输入?id=1’ --+ //(–+为注释符),会发现正常回显

在这里插入图片描述

用order by语句来查看有几列,如果报错就是超过列数,如果显示正常就是没有超出列数。

如:?id=1’order by 3 --+

在这里插入图片描述

当输入?id=1’order by 4 --+后就报错,说明数据有3列

在这里插入图片描述

接下来我们使用 union select联合查询继续获取信息。

获取显示位

?id=-1'union select 1,2,3--+

在这里插入图片描述

说明页面有2个显示位, 这个显示位指的是网页中能够显示数据的位置

然后获取当前数据名和版本号

?id=-1'union select 1,database(),version()--+

在这里插入图片描述

查询列名,我们可以使用 group_concat函数,该函数返回一个字符串结果,该结果由分组中的值连接组合而成。

?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

在这里插入图片描述

账号和密码在这个表中

接下来我们就要得到该字段对应的内容

?id=-1' union select 1,2,group_concat(username ,id , password) from users--+

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值