0x01 前言

我使用的 oracle 版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
系统: windows10

也是偶然发现的,使用中文的括号,oracle 居然不会报错,而是会兼容的继续执行
因为本地只有这个版本,所以没有测试其他的版本。。。

经过测试 oracle11 以下的版本都不行

0x02 中文括号( 使用例子

  1. # 纯中文括号
  2. SQL> select 1+1 from dual;
  3. 1+1
  4. ----------
  5. 2
  1. # 纯中文括号
  2. SQL> SELECT SYS_CONTEXT('USERENV''CURRENT_USER') from dual;
  3. SYS_CONTEXT('USERENV''CURRENT_USER')
  4. --------------------------------------------------------------------------------
  5. SYSTEM
  1. # 纯中文括号
  2. SQL> select LENGTH'123' from dual;
  3. LENGTH'123'
  4. ---------------
  5. 3
  6. # 中英文括号混用
  7. SQL> select LENGTH'123') from dual;
  8. LENGTH'123')
  9. --------------
  10. 3

可以看到不管我们是混用,还是单纯使用 中文括号,oracle都是会兼容的!!!

感觉这个方法可以用来绕过waf :)