修复AppScan漏洞扫描: Oracle application server pl/sql未授权的sql查询执行

一、问题描述:

使用App Scan扫描本公司互联网软件产品,报如下漏洞:

 

Oracle Application Server PL/SQL 未授权的 SQL 查询执行

方法 方法  从以下位置进行控制: POST 至: GET

主体 主体  从以下位置进行控制:

******************  至:

标题 标题  已从请求除去: application/x-www-form-urlencoded; charset=UTF-8

路径 路径  从以下位置进行控制: /Login/Login/Login 至: /Login/Login/owa_util.signature
推理: 推理:

AppScan 请求的文件可能不是应用程序的合法部分。响应状态为“200 OK”。这表示测试成功检索 了所请求的文件的内容

 

二、问题分析:

根据App Scan 报告中的分析如下:

缺省情况下,Oracle Application Server 会安装 OWA_UTIL PL/SQL 程序包,任何用户都可以访问它。这个程序包会 显现若干过程,可让用户执行任意 SQL 查询。

利用的样本:

[1] 这个请求会返回 sys 模式中 dba_users 表格中的前 100 列: 

GET /pls/DAD_NAME/owa_util.cellsprint?p_theQuery=select%20*%20from%20sys.dba_users HTTP/1.0

[2] 这个请求会返回 dba_users 表中的列:

GET /pls/DAD_NAME/owa_util.show_query_columns?ctable=sys.dba_users HTTP/1.0
注意:“DAD_NAME”应该改成符合测试的 Web 应用程序。

 

即:当运行在Oracle Application Server中的 Web 程序接收到访问owa_util程序包的请求时 ,会以dba的身份操作oracle数据库,Web应用程序对外存在暴露数据库操作的风险。

 

三、问题修复:

根据App Scan扫描报告中的修复建议:

在“$ORACLE_HOME$\Apache\modplsql\cfg\wdbsvr.app”文件中添加下列规则来封锁对于 PL/SQL 过程和应用程序未 经认证的 PUBLIC 访问: exclusion_list= account*, sys.*, dbms_*, owa* 

问题即解决。

 

四、总结:App Scan 的扫描报告中即有问题产生的原因分析和修复方案,修复问题时首先在扫描报告中查找解决方案,其次借助互联网搜索引擎。

 

 

 


 

你可能感兴趣的:(其他)