博客
关于我
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/

    你可能感兴趣的文章
    pandas DataFrame 中的自定义浮点格式
    查看>>
    Pandas 读取具有浮点值的 csv 文件会导致奇怪的舍入和小数位数
    查看>>
    pandas 适用,但仅适用于满足条件的行
    查看>>
    Pandas-通过对列和索引的值求和来合并两个数据框
    查看>>
    pandas.read_csv()的详解-ChatGPT4o作答
    查看>>
    Pandas数据可视化怎么做?用实战案例告诉你!
    查看>>
    Pandas数据结构之DataFrame常见操作
    查看>>
    pandas整合多份csv文件
    查看>>
    pandas某一列转数组list
    查看>>
    pandas的to_sql方法中使用if_exists=‘replace‘
    查看>>
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    PATA1038题解(需复习)
    查看>>
    Path does not chain with any of the trust anchors
    查看>>
    Path形状获取字符串型变量数据
    查看>>
    PAT甲级——1001 A+B Format (20分)
    查看>>
    PAT甲级——1006 Sign In and Sign Out (25分)
    查看>>
    PAT甲级——1007 Maximum Subsequence Sum (25分)
    查看>>
    PAT甲级——1009 Product of Polynomials (25分)(最后一个测试点段错误)
    查看>>
    PayPal网站付款标准版(for PHP)
    查看>>