谜团靶场_sql注入

本文详细介绍了SQL注入的过程,从检测字段类型开始,通过报错信息推测SQL语句,并利用UNION SELECT查询数据库名、表名、列名以及记录数据。通过ORDER BY和SUBSTR函数逐步获取完整信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Less-1

  • 检测id的字段类型

      分别构造如下payload,比对返回结果
      
      xxxxxxxx.app.mituan.zone/Less-1/?id=1
      xxxxxxxx.app.mituan.zone/Less-1/?id=2
      xxxxxxxx.app.mituan.zone/Less-1/?id=1+1
    

    可以发现id=1+1与id=1的返回结果是一样的,说明1+1并没有被执行,基本可以认定id的字段类型为STRING或者类似非数字类型。

  • 寻找注入点

      首先使用基本起手式,构造如下url进行访问
      
      xxxxxxxx.app.mituan.zone/Less-1/?id=1'
    

    报错如下:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' LIMIT 0,1' at line 1

  • 猜测SQL语句

      根据页面返回的报错内容可以大概猜测后端实现SQL的方式,可能的SQL语句如下所示
      
      SELECT username,password,3,4,5... from user where id = '$id' LIMIT 0,1;
      
      根据猜测的SQL语句,进行验证,构造payload如下
      
      xxxxxxxx.app.mituan.zone/Less-1/?id=1'%23
      xxxxxxxx.app.mituan.zone/Less-1/?id=1'--+
      
      payload可以正常进行查询,开始尝试构建payload
    
  • 测试这个select一共查询有多少列内容
    使用order

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值