sqli-labs 靶场 less-1、2、3、4 第一关至第四关: 判断闭合方式,order by判断字段数,是否为字符型注入,获取information_schema的表

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它,我们可以学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。

Less 1

SQLI DUMB SERIES-1
1. 判断闭合方式:在参数后面加\的方法判断闭合,\后面的符号就是闭合符号。在第一关,闭合方式通常为单引号闭合。
2. 判断字段数:使用order by语句来确定表中的列数。例如,输入id=1' order by 3--+,如果页面回显正常,说明存在三个字段。
3. 判断是否为字符型注入:尝试输入id=1',如果页面报错,说明是字符型注入。
4. 拼接字符串并确定注入点:使用and '1'='1'来进一步验证注入点,并观察页面回显是否正常。

Please input the ID as parameter with numeric value

字段数量

尝试输入ID,可以正常显示。
继续输入单引号,异常显示:

http://sqli-labs.com/Less-1/?id=1%27

SQL syntax
直接返回了SQL的语法错误,那么明显语句中有利用单引号'来作为字符型闭合符号。
可以选择直接把后面的语句注释掉,?id=1'--+
数据获取成功
使用orderby 语句判断查询字段数量

http://sqli-labs.com/Less-1/?id=1%27%20order%20by%203--+

可以知道结果为3时数据正常返回,意味着此次查询有3个字段。
在这里插入图片描述

在 MySQL 中,当你在 ORDER BY 子句中使用数字(如 ORDER BY 3),你实际上是在引用查询结果集中的列的位置,而不是列的名称。
数字引用是基于 SELECT 语句中列的顺序。如果你改变了 SELECT 语句中的列顺序,那么数字引用也会相应地改变。
ORDER BY 3 是根据查询结果集中的第三列进行排序的。如果你尝试引用一个不存在的列位置,MySQL 会抛出一个错误。
如果你在 SELECT 语句中使用了别名,并且想在 ORDER BY 中使用这个别名,你不能使用数字引用。你必须使用别名本身。

判断注入点

select 1,2,3
这个代码实际上在数据库中的显示为:

SELECT * FROM user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值