传送门All labs | Web Security Academy
Lab: SQL injection attack, querying the database type and version on Oracle
补充知识点:
1.oracle的查询版本语法为
SELECT * FROM v$version;
2.联合查询为
SELECT column1, column2,... FROM table1 UNION SELECT column1, column2,... FROM table2;
3.
在 Oracle 数据库中,dual 是一个虚拟表,始终存在。Oracle 保证 dual 里面永远只有一条记录。所有用户都可以使用 dual 名称访问。dual 表有多种用途,例如:
- 用来构成 select 的语法规则。
- 调用系统函数,如获取当前系统时间(select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual)、获得主机名(select SYS_CONTEXT('USERENV','TERMINAL') from dual)、获得当前 locale(select SYS_CONTEXT('USERENV','language') from dual)、获得一个随机数(select dbms_random.random from dual)。
- 得到序列的下一个值或当前值,如 select your_sequence.nextval from dual(获得序列 your_sequence 的下一个值)、select your_sequence.currval from dual(获得序列 your_sequence 的当前值)。
- 可以用做计算器,如 select 7*9 from dual 。