网盾安全 - 服务器租用、高防IP、云WAf等

值得信赖的互联网安全服务商,最新动态、新的产品促销活动分享,网络安全动态!

Oracle数据库注入之联合注入

发布时间:2021-03-30 16:12:09      来源:      作者: 阿己

  在各类SQL注入中,联合注入是一种在正常页面上通过服务端来执行SQL语句查询的注入手段。
 

  联合注入的过程如下:

  首先对注入点判断是字符型还是整型;判断查询列数和显示位,获取所有数据库名、表名以及字段名,最后从字段中获取相应数据。

  (一)判断注入点

  判断注入点的方法很多,比如show.php?code=1'加单引号,show.asp?code=2-1减1;通常安全性比较高的网站会过滤特殊标点符号,并且针对减法这种访问现象进行阻拦。

  下面是一个经典的方法∶

  1.xxx/show.asp?code=1'and 1=1--(正常显示)

  对应的SQL语句∶

  select.…from table where code='1'and 1=1--and xxxx;

  单引号(')匹配code='1,然后and连接,1=1恒成立,注释(--)掉后面语句。

  2.xxx/show.php?code=1'and 1=2--(错误显示)

  对应的SQL语句∶

  select.from table where code='1'and 1=2-- and xxxx;

  单引号(')匹配code='1,然后and连接,1=2恒错误,注释(- -)掉后面语句。
 

  (二)判断数据库列数

  根据某列数据做排序,四列数据判断:

  id=1 order by 4--

  假如在输出结果中填写5会报错,从1开始遍历能判断此表包括4个字段。

  通过union将数据在前端显示,这里的数据(null)个数需和前面查询的内容一致(4个)。SQL注入中,通常会使用null占位。

  -1 union select null,null,null,null from dual-

  输出结果如下图所示:

  然后对每个字段数据类型进行判断,通过sys_context函数查询当前用户的连接信息,并显示在第二列的数据中。

  在爆数据库名后,通常需要找到用户表或者管理员表,从而获取用户名和密码进行渗透。

 

 

最新动态

为您提供行业资讯、活动公告、产品发布,汇聚前沿流行的新闻动态

加入网盾,开启安全防护

网盾安全 高防服务器、游戏盾、DDoS高防IP、云WAF等多款安全产品

立即体验