博客
关于我
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 排序中使用nulls first 或者nulls last 语法
    查看>>
    oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据
    查看>>
    Oracle 操作笔记
    查看>>
    oracle 数据库 安装 和优化
    查看>>
    oracle 数据库dg搭建规范1
    查看>>
    Oracle 数据库常用SQL语句(1)
    查看>>
    Oracle 数据库特殊查询总结
    查看>>
    Oracle 数据类型
    查看>>
    Oracle 数据自动备份 通过EXP备份
    查看>>
    oracle 数据迁移 怎么保证 和原表的数据顺序一致_一个比传统数据库快 1001000 倍的数据库,来看一看?...
    查看>>
    oracle 时间函数
    查看>>
    oracle 时间转化函数及常见函数 .
    查看>>
    Oracle 权限(grant、revoke)
    查看>>
    oracle 查询clob
    查看>>
    Oracle 比较 B-tree 和 Bitmap 索引
    查看>>
    Oracle 注意点大全
    查看>>