sqli-labs通关笔记(less-1 ~ less10)

Sqli-labs是一个学习sql注入的平台,通过闯关的形式让学习的过程没有那么枯燥。个人感觉还是蛮有意思的,因此准备写一个系列来记录自己学习的过程。
由于前十关都是GET请求,比较简单,而且我也是初学,所以没有准备其他工具,接下来所有的操作都是用的aipfox。

Less-1

进入第一关的页面,有一个提示:请输入id作为参数
在这里插入图片描述
简单尝试一下输入参数:
在这里插入图片描述
可以看到,页面上返回了相应的用户名和密码。
下一步我们传入 1'作为参数,来判断sql语句是否是拼接而成:
在这里插入图片描述
语句报错了,可以看到报错的地方为 ''1'' LIMIT 0,1',很明显,把我们输入的 1'当作字符串直接拼接进去了,我们再来确认一下:
在这里插入图片描述
传入1' --+作为参数,返回了数据。因为此时的sql被拼接成了这样:

'select xxx from xxx where id = '1' --limit 0,1'

我们用 – 把后面的limit给注释掉了,然后用我们自己输入的单引号来和前面的单引号形成闭合。
这样一来注入sql就很简单了,只需要在1' --+中间加上我们要注入的语句就可以了。
比如接下来可以使用order by语句判断sql查询的列数:
在这里插入图片描述
?id=1' order by 1 --+开始查,查到4报错了,说明这个查询sql只有三列,接下来我们看看这三列数据分别是怎么使用的:
在这里插入图片描述
通过?id=-1' union (select 1,2,3) --+可以看出,第二列和第三列分别是用户名和密码,那第一列多半就是id了。
接下来可以查询当前数据库名:
在这里插入图片描述
这样我们就获取到了程序当前连接的数据库为security。然后根据数据库名,可以进一步查询security库中的所有表:
在这里插入图片描述
我们现在得到了 emails、referers、uagents、users四张表,后面获取表结构、表数据什么的,或者注入其他东西,也可以以同样的方法实现,就不赘述了。

Less-2

Less-2我们同样输入1'作为参数测试:
在这里插入图片描述
这次的报错变了,报错的位置变成了'' LIMIT 0,1'。这次是在limit的位置多出来了一个单引号,说明这很有可能是数字型注入,接下来进行确认:
在这里插入图片描述
到了这一步,剩下的就和Less-1没有什么区别了,比如:
在这里插入图片描述

Less-3

同样,我们使用1'进行测试:
在这里插入图片描述
通过报错可以看出来,1后面多了个单引号,那么原本就应该是1'),所以我们就可以通过前面的方式进行注入:
在这里插入图片描述

Less-4

Less-4,我们用1'进行测试,这次居然不报错了:
在这里插入图片描述
此时我们把参数改成1"再试试:
在这里插入图片描述
可以看到,这次1的后面多了个双引号,那就很简单了,我们使用1")进行注入:
在这里插入图片描述

Less-5

Less-5和前面四关略有不同,当我们输入正确的参数时,不会再回显数据了,而是固定的一句话:
在这里插入图片描述
此时我们使用与前四关同样的方法确定注入类型,然后可以通过拼接条件的形式来获取想要的信息:
在这里插入图片描述
我们通过id=‘1’ and length(database())=1两个条件来判断,没有查出数据,说明数据库名字的长度不是1,继续查,直到查到8,查出数据来了:
在这里插入图片描述
此时我们再通过left()函数来逐位判断,直到确定每一位是什么:
在这里插入图片描述
此时这个漏洞就成了一个只会回答是否的机器。

Less-6

Less-6和上一关是一样的,区别是参数变成了双引号1":
在这里插入图片描述

Less-7

Less-7我们尝试1'作为参数的时候,发现没有具体的报错sql了:
在这里插入图片描述
在这里插入图片描述

此时我们可以检查闭合符号,也就是括号:
在这里插入图片描述

加了一个括号还是不行,那我们再加一个:
在这里插入图片描述
这次可以了,说明注入点为1')),接下来我们可以采用与5、6关相同的方法进行盲注。

Less-8

第八关报错的时候没有报错信息。而是显示为空:
在这里插入图片描述
其实原理是一样的,我们只要通过有没有回显值来判断就可以了:
在这里插入图片描述

Less-9

第9关,这次无论我们输入什么参数,都会回显同样的字符串,这时布尔盲注已经不适用了,可以使用时间注入。时间注入和前面8关的盲注没有本质的区别,我们使用sleep()方法来手动给符合条件的sql增加一个区别。

if(a,sleep(10),1)如果a结果是真的,那么执行sleep(10)页面延迟10秒,如果a的结果是假,执行1,页面不延迟。

在这里插入图片描述
一直穷举到页面睡了5秒,剩下的和前面的题是一样的。

Less-10

第10关和第9关一样,只是注入点换成了双引号:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值