AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

http request/get flood

Ein Thema von painrestricter · begonnen am 6. Nov 2009 · letzter Beitrag vom 9. Nov 2009
Antwort Antwort
Seite 1 von 3  1 23      
painrestricter

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

http request/get flood

  Alt 6. Nov 2009, 15: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
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: http request/get flood

  Alt 6. Nov 2009, 15:56
Weißt du überhaupt was dieser Code da macht? Dein Problem liegt in Zeile 30, da steht Delphi-Referenz durchsuchenSleep(2). Schau mal in der Hilfe nach was das bedeutet. Wenn du weißt was HTTP-Flood bedeuten soll, dann dürfte der Fehler darin ja klar sein.

PS.: Du testest das ja sicher nur an deinen eigenen Servern?

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
painrestricter

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

Re: http request/get flood

  Alt 6. Nov 2009, 16:12
natürlich weiß ich was der code macht


ich versuch eben einen webserver auf port 80 unzählig viele requests zu schicken und soviele threads wie möglich aufzumachen

wie könnte ich das anders einfach machen?

ich habe etwas über idHTTP gelesen, damit wäre es doch theoretisch einfach möglich oder?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: http request/get flood

  Alt 6. Nov 2009, 16:13
Zitat von painrestricter:
ich habe etwas über idHTTP gelesen, damit wäre es doch theoretisch einfach möglich oder?
Ja, oder über XMLhttpRequest....
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#5

Re: http request/get flood

  Alt 6. Nov 2009, 16:16
Hast du dir angeschaut was Sleep(2) macht?

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: http request/get flood

  Alt 6. Nov 2009, 16:19
Zitat:
ich hab versucht mit tclientsocket eine verbindung aufzubauen, aber scheinbar funktioniert das nicht.
Tolle Fehlermeldung
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
painrestricter

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

Re: http request/get flood

  Alt 6. Nov 2009, 16:24
jo schon ^^

naja was ich auch mache, mein prog mein "keine adresse angegeben"

bzw es kommt irgendein error, den ich gleich posten werden.

naja, ich denke nicht dass es an sleep liegt. wie soll denn sleep den programmablauf stören?
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#8

Re: http request/get flood

  Alt 6. Nov 2009, 20:48
Zitat von painrestricter:
naja, ich denke nicht dass es an sleep liegt. wie soll denn sleep den programmablauf stören?
Du scheinst nicht wirklich Ahnung von der Materie zu haben, oder? Wie vielleicht unschwer zu erkennen ist bedeutet Flood auf Deutsch Flut. Frei übersetzt heißt es also den Webserver mit Anfragen zu "überfluten". Wichtig ist dabei dir Vorsilbe "über-"! Dem Webserver macht es nichts aus alle 2 Sekunden eine Anfrage zu beantworten. Du wartest (sleep / schlafen) ja nach jeder Anfrage 2 Sekunden. Wenn du etwas flooden willst, dann muss das mehr sein.

Man sagt, um einen sogenannten DoS (Denial of Service, also Serviceverweigerung - das ist einer von vielen Vorgängen einen Dienst lahmzulegen. Ein anderer wäre simples einhacken mit anschließendem Ausschalten) auszuführen, muss man selbst mehr Anbindung haben als der Server selbst. Da das nur selten, wenn nicht sogar nie der Fall ist, benutzt man meist DDoS. Dieser Distributed Denial of Service benötigt mehrere Rechner mit nabhängigen Leitungen um den Server zu flooden. Da du aber höchst unwahrscheinlich mehr Anbindung als der zu "DoS"-nde Server hast und auch wohl kaum mehrere Server mit genügend summierter Anbindung, kannst du die Sache eigentlich vergessen.

Primär müsstest du aber erstmal rausfinden warum disee Fehlermeldung kommt, die du uns so lange verschwiegen hast. Kleiner Tipp am Rande: Fehlermeldungen haben einen guten Berechtigungsgrund, nämlich der, dass es für den Programmierer einfacherer ist den Fehler zu finden. Wenn du uns so eine Meldung verschweigst, dann können wir nicht helfen. Was es jetzt aber genau mit der Meldung auf sich hat kann ich dir nicht sagen, dafür fehlen mit die Delphi-Kenntnisse.

Auf den ersteb Blick ist deine CreateHTTPRequest-Funktion aber sowieso inpraktikabel, da Hostname und URI nicht das gleiche ist. Du verwendest dafür aber die gleiche Variable. Meiner Meinung nach solltest du dich mehr mit dem Thema beschäftigen. Das heißt du brauchst wissen über Netzwerke (TCP/IP) und Aufbau des HTTP. So wird das nichts.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
painrestricter

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

Re: http request/get flood

  Alt 7. Nov 2009, 15:56
jo du hast recht, wirklich viel ahnung hab ich nicht, aber ich bemüh mich un der wille ist da

was ddos usw ist, weiß ich

wenn du es unbedingt wissen willst, ich hab die createhttprequest funktion auch aus dem acidbot von poke, also ein irc basiert ddos bot. mich interessiert das einfach wie das funktioniert.
mein kollege hat es geschafft, mit seinem pc (ich glaube dsl 3000 anbindung) unseren vps server zu flooden. der server war danach down. Aus Neugier wollte ich sowas auch versuchen. Leider codet er in vb, und das kann ich nicht ^^

ich habe mich jetzt ein bisschen mit indy und den der idhttp komponente auseinandergesetzt, bin dabei es neu zu versuchen.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: http request/get flood

  Alt 7. Nov 2009, 16:18
Zitat von Valle:
Du wartest (sleep / schlafen) ja nach jeder Anfrage 2 Sekunden. Wenn du etwas flooden willst, dann muss das mehr sein.
Nein. Er warten keine 2 Sekunden, sondern 2 Millisekunden! 2 Sekunden wären "Sleep(2000)".

Eigentlich wartet er aber länger, die Auflösung von "Sleep()" liegt irgendwo bei 50 Millisekunden, kleiner Zeiten kann man mit "Sleep()" nicht warten (Win ist kein Echtzeitbetriebssystem).

Eigentlich verstehe ich nicht, was das "Sleep()" da überhaupt soll...
Ralf Kaiser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz