/*
Caution should read this :
English Tutorial : http://www.youtube.com/watch?v=zfsBXz3lmRg
French Tutorial : http://www.youtube.com/watch?v=X_HGCXajyVA
To exploit this vulnerability you must Download Squirrel-sploit.
English Tutorial : http://www.youtube.com/watch?v=zfsBXz3lmRg
French Tutorial : http://www.youtube.com/watch?v=X_HGCXajyVA
*/
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <winsock.h>
#include <string>
#include <direct.h>
#pragma comment(lib, "wsock32.lib")
using
namespace
std;
#define SERVER_PORT 80
void
header();
int
createConnection(string targetAddr,
int
targetPort);
int
sendTransmission(string message);
string recvTransmission();
void
cleanUp();
WORD
sockVersion;
WSADATA wsaData;
int
sock;
struct
sockaddr_in rserver;
//Setup the server
int
createConnection(string serverIP,
int
port)
{
int
result = 0, len = 0;
sockVersion = MAKEWORD(1,1);
WSAStartup(sockVersion, &wsaData);
if
((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror
(
"error: socket()\n"
);
result = 1;
}
rserver.sin_family = AF_INET;
rserver.sin_port = htons(port);
rserver.sin_addr.s_addr = inet_addr(serverIP.c_str());
memset
(&rserver.sin_zero, 0, 8);
len =
sizeof
(
struct
sockaddr_in);
if
((connect(sock, (
struct
sockaddr *)&rserver,
sizeof
(
struct
sockaddr_in))) == -1)
{
perror
(
"error: connect()\n"
);
result = 1;
}
return
result;
}
void
header()
{
printf
(
"________________________________________________________\n"
);
printf
(
" ___ _ _ _ _ _ \n"
);
printf
(
" / __| __ _ _ _(_)_ _ _ _ ___| |___ ____ __| |___(_) |_ \n"
);
printf
(
" \__ \/ _` | || | | '_| '_/ -_) |___(_-< '_ \ / _ \ | _|\n"
);
printf
(
" |___/\__, |\_,_|_|_| |_| \___|_| /__/ .__/_\___/_|\__|\n"
);
printf
(
" |_| |_| \n"
);
printf
(
"\n"
);
printf
(
"_________________________________________________________\n\n"
);
printf
(
"Download : sourceforge.net/projects/squirrelsploit/ \n\n"
);
printf
(
"Tutorial (English): youtube.com/watch?v=zfsBXz3lmRg \n\n"
);
printf
(
" (French) : youtube.com/watch?v=X_HGCXajyVA \n\n"
);
printf
(
"set> stealmail xxxx@hotmail.com \n"
);
}
//Send a message
int
sendTransmission(string message)
{
int
bytes_sent = 0;
bytes_sent = send(sock, message.c_str(), message.length(), 0);
if
(bytes_sent < 0)
{
perror
(
"error: send()\n"
);
exit
(1);
}
return
bytes_sent;
}
//Receive a message
string recvTransmission()
{
string result;
char
*c =
new
char
[1];
int
bytes_recv = 0;
while
(c[0] != NULL)
{
bytes_recv = recv(sock, c, 1, 0);
if
(bytes_recv < 0)
{
perror
(
"error: recv()\n"
);
//exit(1);
}
result += c[0];
}
return
result;
}
//Clean up the connection
void
cleanUp()
{
closesocket(sock);
WSACleanup();
}