Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Upload_Bypass — Un outil simple pour contourner les restrictions de téléchargement de fichiers. | Kitploit
Outils/GitHubGitHub/sajibuu/upload_bypass
Scanners de VulnérabilitésGénération de PayloadsExploitationSécurité WebTests d'Intrusion
GitHubsajibuu/upload_bypass

Upload_Bypass

Un outil simple pour contourner les restrictions de téléchargement de fichiers.

Voir le dépôt
90813212il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Upload_Bypass v3

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

À propos

Upload Bypass est un outil simple conçu pour aider les testeurs d'intrusion et les chasseurs de bugs à tester les mécanismes de téléversement de fichiers. Il exploite diverses techniques de bug bounty pour simplifier le processus d'identification et d'exploitation des vulnérabilités, garantissant des évaluations approfondies des applications web.

Développé par Sagiv

2024-02-18_20h04_06

🚀 Mises à jour

  • Le code est presque entièrement réécrit, utilise un meilleur parsing des fichiers et élimine la plupart des bugs.
  • Code modulaire ! Vous pouvez désormais contribuer au code et ajouter vos propres modules.
  • Introduction de 3 modes différents : détection, exploitation et vérification anti-malware, choisissez votre arme !
  • Nouvelle fonctionnalité d'état, vous pouvez maintenant mettre le code en pause et reprendre là où vous vous étiez arrêté !
  • Nouvelle interface pour une visualisation facile.
  • Fichier Docker pour un déploiement facile.
  • Divers fichiers de test fournis pour des tests internes.
  • Mode débogage. Si vous rencontrez un bug, vous pouvez enregistrer la trace de la pile et la partager avec moi pour une analyse plus approfondie.
  • Attention

    Cet outil est interdit lors de l'examen OSCP !

    Fonctionnalités

    Mode de détection :

    Adapté aux tests d'intrusion réels. Ce mode téléverse des fichiers inoffensifs et ne tentera pas d'exploiter la cible.

    Nouveau - Si un dossier de destination pour les fichiers téléversés est fourni, le programme déterminera si le fichier échantillon téléversé est rendu. Par exemple, si vous choisissez PHP, le programme tentera de déterminer si une commande echo est exécutée et rendue avec succès ; si c'est le cas, il suggérera d'entrer un shell interactif.

    Mode d'exploitation :

    Adapté lorsque vous souhaitez exploiter la cible et téléverser un shell web interactif (si un répertoire de destination pour le téléversement est fourni). Il téléversera le fichier avec un UUID aléatoire, ce qui rendra plus difficile la devinette par des fuzzers.

    Mode anti-malware :

    Adapté pour un test de présence anti-malware. Téléversez un fichier Eicar (fichier de test anti-malware) sur le système, et si l'utilisateur spécifie l'emplacement du fichier téléversé, le programme vérifiera si le fichier a bien été téléversé et existe dans le système afin de déterminer si un anti-malware est présent.

    Personnalisation

    Consultez config.py dans le répertoire lib, vous pouvez ajouter de nouvelles extensions, types MIME, magic bytes, configurer l'utilisation du protocole HTTP/HTTPS, etc.

    Pour ajouter un nouveau module, ajoutez simplement une fonction avec la fonctionnalité souhaitée dans modules.py, puis ajoutez le nom de la fonction dans la liste "active_modules" dans config.py

    Pour ajouter une nouvelle extension de fichier, ajoutez un fichier sample.{ext} dans assets/sample_files, puis ajoutez l'extension et son type MIME/magic bytes dans config.py

    Téléchargement :

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

    Installation :

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

    Installation depuis Docker Hub

    root@kitploit:~
    sudo docker pull sajibuu/upload_bypass
    

    Installation depuis un fichier docker local

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

    Exemples d'utilisation Docker

    Exemple sans 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
    

    Exemple avec proxy :

    Assurez-vous d'écouter sur le port 8080 sur toutes les interfaces !

    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
    

    Limitations :

    L'outil ne fonctionnera pas correctement dans les cas suivants :

    1. Une implémentation CAPTCHA est en place.
    2. Exigence d'un jeton CSRF pour chaque requête.
    3. Un dossier de destination est fourni pour les fichiers téléversés, mais les fichiers téléversés sont enregistrés avec un GUID (identifiant unique global) au lieu de leur nom réel ; le programme ne pourra pas entrer dans un shell interactif.

    Avertissement

    Veuillez noter que l'utilisation d'Upload Bypass et toute action entreprise avec celui-ci sont à vos propres risques. L'outil est fourni uniquement à des fins éducatives et de test. Le développeur d'Upload Bypass n'est pas responsable de toute utilisation abusive, des dommages ou des activités illégales causées par son utilisation.

    Utilisation :

    Attention

    Le programme ne fonctionne qu'avec des fichiers de requête générés par des outils proxy, tels que Burp Suite et ZAP OWASP.

    Avant d'enregistrer le fichier de requête depuis le proxy que vous utilisez, par exemple Burp Suite, remplacez les valeurs de paramètres suivantes par leurs marqueurs correspondants :

    Contenu du fichier : *data*

    Exemple : Remplacez les données binaires de l'image par la chaîne *data*

    Nom du fichier : *filename*

    Exemple : Remplacez le nom du fichier, y compris son extension, par la chaîne *filename*

    En-tête Content-Type : *mimetype*.

    Exemple : Remplacez le type de contenu (MIME) du fichier par la chaîne *mimetype*

    Exemple 1 :

    À quoi cela devrait ressembler dans une requête JSON :

    image

    Exemple 2 :

    À quoi cela devrait ressembler dans une requête multi-parties :

    2024-02-27_11h20_23

    Options utilisateur :

    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
    

    Exemples

    Mode de détection

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

    Mode d'exploitation

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

    Mode anti-malware

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

    Problèmes

    Si vous rencontrez un problème, veuillez utiliser le mode débogage avec une valeur de drapeau 2 et partagez-le avec moi (le fichier de débogage est enregistré avec les arguments fournis par l'utilisateur, le fichier de requête fourni et l'erreur de trace de la pile). Si le fichier contient des informations sensibles, vous pouvez utiliser la valeur de drapeau 1, qui enregistre uniquement l'erreur de trace de la pile dans le fichier.

    Contribution

    Si vous souhaitez contribuer à mon code, veuillez spécifier exactement ce que vous avez ajouté au code et pourquoi, et assurez-vous d'effectuer plusieurs tests avant de soumettre la demande de fusion.

    Crédits

    • Hacktricks - Remerciements spéciaux pour avoir fourni des techniques et des informations précieuses utilisées dans cet outil.
    • Artemixer - Merci de m'avoir inspiré avec votre version plus légère de mon outil pour réécrire l'intégralité du code et le rendre modulaire !
    Télécharger l’outil