博客
关于我
sqli-labs ————less -26a
阅读量:172 次
发布时间:2019-02-28

本文共 513 字,大约阅读时间需要 1 分钟。

在Less-26a关卡中,我们面对的挑战是如何绕过过滤机制,利用合法的SQL语句执行注入。以下是解决思路和最终的SQL构造方法:

解决思路

  • 理解过滤机制:过滤机制使用preg_replace去掉了多个有害字符,如OR、AND、/、*、--、#、空格等。因此,我们需要构造一个有效的id值,使其能够通过这些过滤。
  • 利用UNION关键字:由于直接使用报错注入被排除,我们可以使用UNION来执行两个查询。前面的查询闭合括号,插入自己的SQL语句,然后闭合后面的括号。
  • 构造有效的id:构造一个看起来合法的id值,例如1,并在后面添加SQL语句。
  • 最终的SQL构造方法

    id=1') union select user(),3||('1

    解释

  • 闭合前面的括号1')闭合了前面的WHERE条件后的括号。
  • 插入SQL语句union select user(),3||('1插入了一个联合查询,获取用户信息user()和常数3,然后使用||连接字符串('1,确保后续查询有效。
  • 闭合后面的括号1闭合了前面SELECT语句的括号,使整个查询有效。
  • 通过这种方法,我们成功绕过了过滤机制,利用合法的SQL语句执行注入,获取所需的信息。

    转载地址:http://kprc.baihongyu.com/

    你可能感兴趣的文章
    Oracle函数与存储过程和程序包
    查看>>
    Oracle分析函数之LEAD和LAG
    查看>>
    Oracle分组取前n条记录
    查看>>
    Oracle分页sql
    查看>>
    Oracle创建database link(dblink)和同义词(synonym)
    查看>>
    oracle创建数据库的步骤
    查看>>
    Oracle创建用户、角色、授权、建表
    查看>>
    Oracle创建用户与授予表空间与权限
    查看>>
    oracle创建表(并且实现ID自增)
    查看>>
    oracle创建视图与生成唯一编号
    查看>>
    oracle删除重复数据保留第一条记录
    查看>>
    oracle判断空值的函数nvl2,【PL/SQL】 NVL,NVL2,COALESCE 三种空值判断函数
    查看>>
    Oracle发布VirtualBox 7.1稳定版!支持ARM、优化了UI、支持Wayland等
    查看>>
    oracle启动三步
    查看>>
    oracle启动关闭服务,启动关闭oracle服务.bat
    查看>>
    Oracle命令行创建数据库
    查看>>
    Oracle和SQL server的数据类型比较
    查看>>
    oracle和sybase的一些区别
    查看>>
    oracle在日本遇到的技术问题
    查看>>
    Oracle在线重定义
    查看>>