sqli-labs-master第五关Less-5超详细360°无死角教程

sqlmaster第五关Less-5

测试IP:http://192.168.64.131 目录:/sqlmaster/Less-5/

自我认为这一关还是挺有意思的,我们先来尝试一下注入语句。

我们先访问空白页面看看返回了什么:

     在这里插入图片描述

输出了:Please input the ID as parameter with numeric value,告诉我们要输入ID

好,那我们输入上id,看看页面会返回什么,如图:

     在这里插入图片描述

可以看到,只要数据库对应的id存在,那么就会给出一串固定的“You are in …”,如果对应的id不存在那么就什么都没有。

这个时候怎么办?>_<

别急,我们先尝试万能的“'”注入法:

     在这里插入图片描述

可以看到,页面将错误的信息打印了出来,过了前四关的我们对这个报错已经再熟悉不过了。不过如果按照以前的注入方法,我们是得不到任何数据的,那么我们可以想想,由于输入了id页面不会返回动态的信息,那么我们可以看到,因为报错信息是动态的,那么我们尝试让报错信息返回给我们想要的数据。

说干就干,我们开始“报错注入”。。。

开始测试

这里我们会用到两个函数:UPDATEXML(),CONCAT()

语法:

updatexml(xml_target,xpat_exper,new_value) 作用是更新xpath表达式的数据
	xml_target:更新的xml数据
	xpat_exper:更新的xml节点的xpath表达式,如果这个参数不是xpath类型的,那么就会抛出一个错误异常
	new_value:新的节点值或要插入的节点
concat(str1,str2,str3,...) 作用是将多个字符串连成一个字符串
	str:需要连接的字符串

这里我们就利用 updatexml()第二个参数引发的异常报错来获取数据,我们先来看一下报错时的样子:

     在这里插入图片描述

一眼就发现了宝藏对吧!


键入:?id=1'and updatexml(1,concat(0x7e,(select database()),0x7e),1) limit 0,1 --+

效果如图:

     在这里插入图片描述

  • 成功获取到数据库名

当然,不能就这么玩完了!我们不能就只看看数据库名或用户名就算了。。。


基础介绍:

在MySQL5.0版本之后,会有一个information_schema的数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

这个数据库中,我们需要了解以下这三个表:
	schemata:存储了当前用户创建的所有数据库名[schema_name]
	tables:	存储了当前用户创建的所有数据库名[table_schema]和表名[table_name]
	columns:存储了当前用户创建的所有数据库名[table_schema]和表名[table_name]和字段名[column_name]

好,介绍完这些之后我们开始接下来的操作。

键入:
?id=1'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x7e),1) limit 0,1 --+

先来解释一下:

我们首先利用updatexml()函数,利用写入不合法的第二个参数类型,试图使其抛出错误异常的数据【也就是我们想要得到的数据】,对于不合法的这个参数我们是这样写的:将两个十六进制的“~”与我们需要查询的数据进行拼接【当然,这个十六进制的“~”也可以用其它的字符替代】。

对于select的写法:
	查询information_schema数据库下的tables表,
	需要查询的表字段是table_name,
	当条件table_schema字段='security'时查询,【由前面的database()我们就知道了当前使用的数据库是“security”】
	查询的范围是从第0位置开始查,查1个。

注入效果如图所示:

     在这里插入图片描述

  • 成功获取到security数据库下的表名【共四个】,第五关通过!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anonymous_who_am_i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值