⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 多个 apache 验证模块存在漏洞 (app,缺陷).txt

📁 LINUX下的安装声卡等操作和技巧介绍
💻 TXT
字号:
作者:hansome
email: hansome@chinaasp.com
日期:9/6/2001 9:33:37 AM
涉及程序: 
PostgreSQL ,Oracle  
  
描述: 
多个 Apache 数据库验证模块漏洞利用分析 
  
详细: 
多个使用 SQL 数据库存储验证信息的 Apache 验证模块存在漏洞,远程攻击者利用这些漏洞可能在请求中插入非法 SQL 代码。

当使用 PostgreSQL 模块时,攻击者能执行任意 SQL 语句或导致数据库口令查询返回任意数据,从而可能取得对 WEB 服务器的非法访问权。

当使用 Oracle 模块时,攻击者能非法调用存储进程或导致数据库口令查询返回任意数据。

对于 Mysql 模块时,尚未得出可靠的测试结果。

验证过程中,必须在数据库查询口令散列值,因此要用到 SQL SECLECT 语句。在这些受影响的模块中,使用下面类似的代码:

Query := Sprintf ("SELECT %s FROM %s WHERE %s = '%s'", 
            Password_Column, User_Table, User_Column, 
            User); 

然后,会比较取回的口令散列值和用户提供的口令以检查该用户是否为合法用户。

但是,用户值要通过网络取回。如果攻击者构造下面的字符串(注意开始的单引号),

‘; SELECT 'wA8aGH92dPQnIDD 

这样获得的字符串将含有两个 SQL 语句

SELECT password_column FROM user_table WHERE user_column = ''; 
   SELECT 'wA8aGH92dPQnIDD' 

PostgreSQL's libpq client library 会将这两个语句都传给 PostgreSQL 服务器,服务器将会执行两条语句并将第二条的结果返回给客户端。通过这种方式,攻击者能诱骗验证代码,使它相信他所提供的口令有效。用同种攻击手法,使用 INSERT,DELETE 语句能达到其它效果。

Oracle 不允许每个请求中有多个 SQL 语句,但是使用 UNION clause 来附加多余数据是可能的,利用这点能重复上面的攻击过程。此外,攻击者也能非法调用存储进程。

受影响系统:
   * AuthPG 1.2b2 by Min S. Kim (also known as mod_auth_pg) 
   * mod_auth_mysql 1.9 by Vivek Khera 
   * mod_auth_oracle 0.5.1 by Serg Oskin 
   * mod_auth_pgsql 0.9.5 by Guiseppe Tanzilli and Matthias Eckermann 
   * mod_auth_pgsql_sys 0.9.4 (by the same authors, modifications by 
     Victor Glushchenko) 
     
不受影响系统:
   * mod_auth_mysql 2.20 by Zeev Suraski 
   * mod_auth_ora7 1.0 by Ben Reser 
   * mod_auth_ora8 1.0 by Ben Reser  
  
解决方案: 
1、采用不受影响版本

2、下载安装补丁:
AuthPG 1.3 by Min S. Kim 
http://authpg.sourceforge.net/

mod_auth_mysql 1.10 by Vivek Khera 
ftp://ftp.kcilink.com/pub/

mod_auth_pgsql 0.9.6 by Guiseppe Tanzilli 
http://www.giuseppetanzilli.it/mod_auth_pgsql/dist/ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -