IMB ikeyman java类创建漏洞发布时间:2000-04-11 更新时间:2000-04-11 严重程度:高 威胁程度:本地管理员权限 错误类型:环境错误 利用方式:服务器模式 受影响系统 Aix详细描述 Solaris搭带的IBMde IBMHSSB包用来使能IBM WEB服务器的SSL功能,这个包中包含一个shell脚本,/usr/bin/ ikeyman,这个带SUID ROOT位,在调用另外一个脚本 /opt/ibm/gsk/bin/ikmgui之前,它用当前用户的 CLASSPATH环境变量更新了执行过程中的CLASSPATH变量。 第二个脚本调用了/opt/ibm/gsk/bin/ikmgui调用了 com.ibm.gsk.ikeyman.Ikeyman,由于用户的CLASSPATH 是读入新的CLASSPATH变量,他们可以于是可以替换掉 /com/ibm/gsk/ikeyman/Ikeyman,而把恶意的代码放在搜索路径上。于是,当/usr/bin/ikeyman脚本被执行时,恶意代码以root身份运行。 测试代码 创建下列java class: package com.ibm.gsk.ikeyman; import java.io.*; public class Ikeyman { // bunch of code that essentially mimics % cat /etc/shadow // or // % echo "+" > /.rhosts // should do the trick } 编译者程序,放到./com/ibm/gsk/ikeyman/Ikeyman.class,然后 $ CLASSPATH=. $ export CLASSPATH 攻击者就可能利用ikeyman来执行这些攻击代码 解决方案 去掉SUID属性 相关信息 |