第三关 SQL 注入攻击,在 Oracle 上查询数据库类型和版本
这一关就是通过sql注入,查询数据库类型和版本信息
已经提示我们了在产品类别筛选器中包含一个 SQL 注入漏洞,可以使用 UNION 攻击从注入的查询中检索结果
提示我们:1、在 Oracle 数据库上,每个 select 语句后面都跟着:from 表名
2、Oracle 上有一个名为 dual 的内置表
我们已经知道注入点在产品类别筛选器
1、我们随便点击个gifts的类别:

2、去到bp的http history,找到我们点击的请求数据包

3、来到repeater模块,方便我们测试,因为用的union注入攻击查询,先确定存在几列
所以先用一个字段列尝试:
union拼接:
Gifts' UNION SELECT 'abc' FROM dual --
显示报错

4、再用两个字段列尝试
成功,说明存在两列
Gifts' UNION SELECT 'abc','def' FROM dual --

5、接下来我们就去找它的数据库版本等信息
先回到靶场提示那里,去找查询oracle数据库版本信息的sql语句:

查询语句:
SELECT banner FROM v$version

6、由于在拦截请求数据包时,有很多干扰请求,所以我们可以设置个bp白名单,前提是我们知道这个请求在http history的位置,直接将这个请求复制过来:

7、设置好白名单后,直接拦截指定的请求
插入sql注入语句:
' UNION SELECT BANNER,NULL FROM v$version--
放包

8、如图靶场过关

暴露的信息如图
