Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
exploit-writing-for-oswe — Tipps zum Schreiben von Exploit-Skripten (schneller!) | Kitploit
Tools/GitHubGitHub/rizemon/exploit-writing-for-oswe
Scripting & AutomatisierungWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & BildungKuratierte RessourcenPayload-Entwicklung
GitHubrizemon/exploit-writing-for-oswe

exploit-writing-for-oswe

Tipps zum Schreiben von Exploit-Skripten (schneller!)

Repository anzeigen
59111216vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Exploit-Entwicklung für OSWE

Hintergrund

Was

Dieses Repository enthält eine Liste nützlicher Snippets und Tipps, die sich auf das Schreiben von Exploit-Skripten in den OSWE-Labs und der Zertifizierungsprüfung beziehen.

Einige Beispiele hier mögen gegen bestimmte Programmierpraktiken verstoßen, aber unser oberstes Ziel ist es, das Exploit-Skript schnell und korrekt zu schreiben.

Der Abschnitt Code-Snippets ist ein guter Ausgangspunkt, wenn Sie mit der requests-Bibliothek nicht vertraut sind oder neu in Python sind. Andernfalls können Sie direkt zum Abschnitt Wiederverwendbarer Code oder zum Abschnitt Tipps springen.

Warum

  • Obwohl es viele Erfahrungsberichte, Rezensionen und Notizen zur Zertifizierung gibt, befassen sich nur wenige Ressourcen speziell mit dem Prozess des Schreibens von Exploits.
  • Das Schreiben des Exploit-Skripts kann einschüchternd wirken, insbesondere für diejenigen, die neu in Python sind oder wenig Erfahrung mit der Interaktion mit Webanwendungen über Code haben.
  • Die Zeit, die für die Identifizierung von Schwachstellen und die Dokumentation eines Prüfungsberichts aufgewendet wird, kann erheblich schwanken, aber die Zeit, die für die Entwicklung des Exploit-Skripts aufgewendet wird, kann minimiert und konstant gehalten werden, wenn man sie gut beherrscht.

Inhaltsverzeichnis

  • Exploit-Entwicklung für OSWE
    • Hintergrund
      • Was
      • Warum
    • Inhaltsverzeichnis
    • Code-Snippets
      • Startvorlage
      • Nützliche Importe
      • Verwenden der requests-Bibliothek
        • Senden der einfachsten HTTP-Anfrage
        • Verschiedene HTTP-Methoden festlegen
        • Die HTTP-Antwort lesen
        • Daten als Query-String in der URL senden (mit dem params-Argument)
        • Daten als Query-String im Body senden (mit dem data-Argument)
        • Daten als JSON im Body senden (mit dem json-Argument)
        • Eine Datei im Body senden (mit dem files-Argument)
        • HTTP-Header setzen (mit dem headers-Argument)
        • HTTP-Cookies setzen (mit dem cookies-Argument)
        • Das Folgen von 3XX-Weiterleitungen deaktivieren (mit dem allow_redirects-Argument)
        • Mit einem nicht verifizierten HTTPS-Server interagieren (mit dem verify-Argument)
        • Anfrage über einen HTTP-Proxy senden (mit dem proxies-Argument)
        • Eine Session erstellen
        • Dauerhafte Cookies setzen
        • Dauerhafte Header setzen
      • Fehlerbehebung
        • Wireshark verwenden und nach HTTP-Anfragen filtern
        • Inhalt der HTTP-Anfrage ausgeben
        • HTTP-Anfrage über Burp Suite leiten und untersuchen
      • Wiederverwendbarer Code
        • Dateien über HTTP bereitstellen
        • HTTP-Cookies stehlen
        • SQL-Injection beschleunigen
    • Tipps
      • Nach jeder HTTP-Anfrage einen Sanity-Check mit assert durchführen
      • Aussagekräftige Meldungen nach jedem Schritt ausgeben
      • Jeden Exploit-Schritt in eine eigene Funktion aufteilen
      • Ein globales Session-Objekt erstellen, damit es nicht explizit an jeden Funktionsaufruf übergeben werden muss
      • Einen globalen BASE_URL-String erstellen und die benötigten URLs daraus konstruieren
      • Um alle HTTP-Anfragen ohne das proxies-Argument durch Burp Suite zu zwingen, setzen Sie beim Ausführen die Umgebungsvariable HTTP_PROXY / HTTPS_PROXY
      • Codierungs-/Decodierungsschemata anwenden, um eine sichere Übertragung von Payloads zu ermöglichen
      • Verwenden Sie """, um den Payload-String zu erstellen, wenn er sowohl einfache (') als auch doppelte Anführungszeichen (") enthält
      • SQL-Injection mithilfe von Multithreading beschleunigen
      • Das Cookie eines authentifizierten Benutzers hartkodieren, wenn Exploits für authentifizierte Funktionen entwickelt werden
      • Vermeiden Sie f-Strings (f"") oder str.format, wenn der Payload zu viele geschweifte Klammern ({}) enthält

Code-Snippets

Startvorlage

import requests

def main():
    print("Hello World!")

if __name__ == __main__:
    main()

Nützliche Importe

# For sending HTTP requests
import requests

# For Base64 encoding/decoding
from base64 import b64encode, b64decode, urlsafe_b64encode, urlsafe_b64decode

# For getting current time or for calculating time delays
from time import time

# For regular expressions
import re

# For running shell commands
import subprocess

# For multithreading
from concurrent.futures import ThreadPoolExecutor

# For running a HTTP server in the background
import threading
from http.server import HTTPServer, BaseHTTPRequestHandler

# For parsing HTTP cookies
from http import cookies

# For getting command-line arguments
import sys

Verwenden der requests-Bibliothek

Senden der einfachsten HTTP-Anfrage

resp_obj = requests.get("https://github.com")

Verschiedene HTTP-Methoden festlegen

# GET method
requests.get("https://github.com")

# POST method
requests.post("https://github.com")

# PUT method
requests.put("https://github.com")

# PATCH method
requests.patch("https://github.com")

# DELETE method
requests.delete("https://github.com")

Die HTTP-Antwort lesen

resp_obj = requests.get("https://github.com")

# HTTP status code (e.g 404, 500, 301)
resp_obj.status_code

# HTTP response headers (e.g Location, Content-Disposition)
resp_obj.headers["Location"]
Tool herunterladen