Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Upload_Bypass — Ein einfaches Tool, um Datei-Upload-Beschränkungen zu umgehen. | Kitploit
Tools/GitHubGitHub/sajibuu/upload_bypass
SchwachstellenscannerPayload-GenerierungExploitationWebsicherheitPenetrationstests
GitHubsajibuu/upload_bypass

Upload_Bypass

Ein einfaches Tool, um Datei-Upload-Beschränkungen zu umgehen.

Repository anzeigen
90813212vor 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

Upload_Bypass v3

GPL-3.0 License 287245591-b1f3cdd6-3d00-4bbb-94c1-38a9204add71

Über

Upload Bypass ist ein einfaches Tool, das Penetrationstestern und Bug Hunter bei der Prüfung von Datei-Upload-Mechanismen helfen soll. Es nutzt verschiedene Bug-Bounty-Techniken, um den Prozess der Identifizierung und Ausnutzung von Schwachstellen zu vereinfachen und eine gründliche Bewertung von Webanwendungen sicherzustellen.

Entwickelt von Sagiv

2024-02-18_20h04_06

🚀 Aktualisierungen

  • Der Code wurde fast von Grund auf neu geschrieben, verwendet eine bessere Dateiverarbeitung und beseitigt die meisten Fehler.
  • Modularer Code! Jetzt können Sie zum Code beitragen und eigene Module hinzufügen.
  • 3 verschiedene Modi werden eingeführt: Erkennung, Exploitation und Anti-Malware-Überprüfung – wählen Sie Ihre Waffe!
  • Neue Zustandsfunktion: Sie können den Code jetzt anhalten und später fortsetzen.
  • Neue Benutzeroberfläche für eine einfache Ansicht.
  • Docker-Datei für eine einfache Bereitstellung.
  • Verschiedene Testdateien für interne Tests bereitgestellt.
  • Debug-Modus. Wenn Sie auf einen Fehler stoßen, können Sie den Stack-Trace speichern und zur weiteren Analyse mit mir teilen.
  • Achtung

    Dieses Tool ist in der OSCP-Prüfung eingeschränkt!

    Funktionen

    Erkennungsmodus:

    Geeignet für reale Penetrationstests. Dieser Modus lädt harmlose Dateien hoch und versucht nicht, das Ziel auszunutzen.

    Neu - Wenn ein Zielordner für die hochgeladenen Dateien angegeben wird, ermittelt das Programm, ob die hochgeladene Beispieldatei gerendert wird. Zum Beispiel: Wenn Sie PHP gewählt haben, versucht das Programm festzustellen, ob ein echo-Befehl ausgeführt und erfolgreich gerendert wird. Wenn ja, schlägt es vor, eine interaktive Shell zu öffnen.

    Exploitationsmodus:

    Geeignet, wenn Sie das Ziel ausnutzen und eine interaktive Web-Shell hochladen möchten (falls ein Ziel-Upload-Verzeichnis angegeben ist). Die Datei wird dann mit einer zufälligen UUID hochgeladen, sodass sie für Fuzzer schwieriger zu erraten ist.

    Anti-Malware-Modus:

    Geeignet für einen Anti-Malware-Präsenztest. Laden Sie eine Eicar-Datei (Anti-Malware-Testdatei) auf das System hoch. Wenn der Benutzer den Speicherort der hochgeladenen Datei angibt, prüft das Programm, ob die Datei erfolgreich hochgeladen wurde und im System existiert, um festzustellen, ob eine Anti-Malware auf dem System vorhanden ist.

    Anpassung

    Schauen Sie sich die config.py im lib-Verzeichnis an. Sie können neue Erweiterungen, MIME-Typen, Magic Bytes hinzufügen, die Verwendung von HTTP/HTTPS-Protokollen konfigurieren usw.

    Um ein neues Modul hinzuzufügen, fügen Sie einfach eine Funktion mit Ihrer gewünschten Funktionalität in die modules.py ein und fügen Sie dann den Funktionsnamen zur Liste 'active_modules' in der config.py hinzu.

    Um eine neue Dateierweiterung hinzuzufügen, fügen Sie eine sample.{ext}-Datei in assets/sample_files hinzu und fügen Sie dann die Erweiterung sowie ihren MIME-Typ/Magic Bytes in die config.py ein.

    Download:

    root@kitploit:~
    git clone https://github.com/sAjibuu/Upload_Bypass.git
    

    Installation:

    root@kitploit:~
    pip install -r requirements.txt
    

    Installation from a Docker Hub

    root@kitploit:~
    sudo docker pull sajibuu/upload_bypass 
    

    Installation from a local docker file

    root@kitploit:~
    sudo docker build -t sajibuu/upload_bypass .
    

    Docker Usage examples

    Example without proxy:

    root@kitploit:~
    sudo docker run -v $(pwd)/request:/Upload_Bypass/{your_request_file} -it sajibuu/upload_bypass -r request -s 'file was uploaded successfully' -E php -e
    

    Example with proxy:

    Stellen Sie sicher, dass Sie Port 8080 auf allen Schnittstellen abhören!

    root@kitploit:~
    sudo docker run -v $(pwd)/request:/Upload_Bypass/{your_request_file} -it sajibuu/upload_bypass -r request -s 'file was uploaded successfully' -E php -e -p http://{docker_interface_IP}:8080
    

    Einschränkungen:

    Das Tool funktioniert in folgenden Fällen nicht ordnungsgemäß:

    1. Eine CAPTCHA-Implementierung ist vorhanden.
    2. Eine Anforderung eines CSRF-Tokens für jede Anfrage.
    3. Ein Zielordner für die hochgeladenen Dateien wird angegeben, aber die hochgeladenen Dateien werden mit einer GUID (Global Unique Identifier) anstelle ihres tatsächlichen Dateinamens gespeichert – das Programm kann keine interaktive Shell öffnen.

    Disclaimer

    Bitte beachten Sie, dass die Nutzung von Upload Bypass und alle damit verbundenen Handlungen ausschließlich auf eigenes Risiko erfolgen. Das Tool dient ausschließlich zu Bildungs- und Testzwecken. Der Entwickler von Upload Bypass übernimmt keine Verantwortung für Missbrauch, Schäden oder illegale Aktivitäten, die durch seine Nutzung verursacht werden.

    Usage:

    Achtung

    Das Programm arbeitet nur mit Request-Dateien, die von Proxy-Tools wie Burp Suite und ZAP OWASP generiert wurden.

    Bevor Sie die Request-Datei aus Ihrem Proxy (z. B. Burp Suite) speichern, ersetzen Sie die folgenden Parameterwerte durch die entsprechenden Markierungen:

    Dateiinhalt: *data*

    Dateiname: *filename*

    Content-Type-Header: *mimetype*

    Example 1:

    How it should look like in a JSON request:

    image

    Example 2:

    How it should look like in a multi-part data request:

    2024-02-27_11h20_23

    User Options:

    root@kitploit:~
    
    Usage: Upload Bypass [OPTIONS]
    
    Options:
      -h, --help     Print help (see more with '--help')
      -U, --usage   Print the how to save the request file instructions.
      -v, --version  Print version
    
    Required Arguments: 
      -r, --request_file <REQUEST_FILE>    Provide a request file to be proccessed
      -E, --extension    <EXTENSION>       Forbidden extension to check (ex: php)
      -A, --allowed      <EXTENSION>       Allowed extension (ex: jpeg) - Optional - if not set the program will auto-detect the extension
    
      Choose only one from the options below:
      -s, --success      <MESSAGE>         Provide a success message when a file is uploaded (ex: File was uploaded successfully)
      -f, --failure      <MESSAGE>         Provide a failure message when a file is uploaded (ex: File is not allowed!)
      -S, --status_code  <STATUS_CODE>     Provide a status code for a success upload (ex: 200)
    
    Mode Settings: 
      -d, --detect          Upload harmless sample files (Suitable for a real penetration test)
      -e, --exploit         Upload Web-Shells files when testing
      -a, --anti_malware    Upload Anti-Malware Test file (Eicar) when testing
          I.  If set with -E flag the program will test with the Eicar string along with the choosen extension
          II. If set without the -E flag the program will test with Eicar string and a com extension
    
    Modules Settings:     
      -l, --list            List all modules  
      -i, --include_only <MODULES>   Include only modules to test from (ex: extension_shuffle, double_extension)
      -x, --exclude      <MODULES>   Exclude modules (ex: svg_xxe, svg_xss)
    
    Request Settings: 
      --base64              Encode the file data with Base64 algorithm
      --allow_redirects     Follow redirects
      -P, --put             Use the HTTP PUT method for the requests (Default is POST)
      -Pa, --patch          Use the HTTP Patch method for the requests (Default is POST)
      -R, --response        Print the response to the screen
      -c, --continue        Continue testing all files, even if a few uploads encountered success
      -t, --time_out <NUM>  Set the request timeout (Default is 8)
      -rl, --rate_limit <NUMBER>  Set a rate-limit with a delay in milliseconds between each request
    
    Proxy Settings: 
      -p, --proxy <PROXY>   Proxy to use for requests (ex: http(s)://host:port, socks5(h)://host:port)
      -k, --insecure        Do not verify SSL certificates
      --burp_http           Set --proxy to 127.0.0.1:8080 and set --insecure to true (For HTTP requests)
      --burp_https          Set --proxy to 127.0.0.1:8080 and set --insecure to false (For HTTPs requests)
    
    Optional Settings: 
      -D, --upload_dir <UPLOAD_DIR>  Provide a remote path where the Web-Shell should be uploaded (ex: /uploads)
      -o, --output  <OUTPUT_PATH>    Output file to write the results into - Default current directory (ex: ~/Desktop/results.txt)
      --debug  <NUM>                 Debug mode - Print the stack trace error to the screen and save it to a file (ex: --debug 1)
          I.  Level 1 - Saves only the stack trace error (default).
          II. Level 2 - Saves the stack trace error and user's arguments along with the request file.
      
    Resume settings:
      --resume  <STATE_FILE>  State file from which to resume a partially complete scan
    
    Update settings:
      -u, --update  Update the program to the latest version
    

    Beispiele

    Erkennungsmodus

    root@kitploit:~
     python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --detect
    

    Exploitationsmodus

    root@kitploit:~
     python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --exploit
    

    Anti-Malware-Modus

    root@kitploit:~
     python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --anti_malware   
    

    Probleme

    Wenn Sie auf ein Problem stoßen, verwenden Sie bitte den Debug-Modus mit dem Flag-Wert 2 und teilen Sie ihn mir mit (die Debug-Datei wird mit den vom Benutzer bereitgestellten Argumenten, der bereitgestellten Request-Datei und dem Stack-Trace-Fehler gespeichert). Falls die Datei vertrauliche Informationen enthält, können Sie den Flag-Wert 1 verwenden, der nur den Stack-Trace-Fehler in der Datei speichert.

    Beitrag

    Wenn Sie zu meinem Code beitragen möchten, geben Sie bitte genau an, was Sie dem Code hinzugefügt haben und warum, und stellen Sie sicher, dass Sie mehrere Tests durchführen, bevor Sie den Merge-Request einreichen.

    Credits

    • Hacktricks - Besonderer Dank für die Bereitstellung wertvoller Techniken und Einblicke, die in diesem Tool verwendet werden.
    • Artemixer - Danke, dass Sie mich mit Ihrer leichteren Version meines Tools inspiriert haben, den gesamten Code neu zu schreiben und modular zu gestalten!
    Tool herunterladen