Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Upload_Bypass — Простой инструмент для обхода ограничений загрузки файлов. | Kitploit
Инструменты/GitHubGitHub/sajibuu/upload_bypass
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияВеб-безопасностьТестирование на Проникновение
GitHubsajibuu/upload_bypass

Upload_Bypass

Простой инструмент для обхода ограничений загрузки файлов.

Репозиторий
908132122 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Upload_Bypass v3

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

О программе

Upload Bypass — это простой инструмент, предназначенный для помощи пентестерам и баг-хантерам в тестировании механизмов загрузки файлов. Он использует различные техники bug bounty, чтобы упростить процесс выявления и эксплуатации уязвимостей, обеспечивая тщательную оценку веб-приложений.

Разработано Сагивом

2024-02-18_20h04_06

🚀 Обновления

  • Код почти полностью переписан с нуля, использует более качественный разбор файлов и устраняет большинство ошибок.
  • Модульный код! Теперь вы можете вносить вклад в код и добавлять собственные модули.
  • Представлены 3 различных режима: обнаружение, эксплуатация и проверка анти-малвари — выбирайте оружие!
  • Новая функция состояния: теперь можно приостановить выполнение и возобновить с того же места!
  • Новый интерфейс для удобного просмотра.
  • Docker-файл для простого развёртывания.
  • Различные тестовые файлы для внутреннего тестирования.
  • Режим отладки. Если вы столкнулись с ошибкой, можно сохранить стек вызовов и поделиться им со мной для дальнейшего анализа.
  • Внимание

    Этот инструмент запрещён на экзамене OSCP!

    Возможности

    Режим обнаружения:

    Подходит для реальных пентестов. В этом режиме загружаются безвредные файлы, без попыток эксплуатации цели.

    Новое — Если указана целевая папка для загруженных файлов, программа определит, отображается ли загруженный образец файла. Например, если вы выбрали PHP, программа попытается определить, выполняется ли и успешно отображается команда echo. Если да, она предложит войти в интерактивную оболочку.

    Режим эксплуатации:

    Подходит, когда вы хотите эксплуатировать цель и загрузить интерактивный веб-шелл (если указан каталог загрузки). Файл будет загружен со случайным UUID, что затруднит его угадывание фаззерами.

    Режим анти-малвари:

    Подходит для проверки наличия анти-малвари. Загрузите Eicar (тестовый файл анти-малвари) в систему, и если пользователь укажет местоположение загруженного файла, программа проверит, был ли файл успешно загружен и существует ли он в системе, чтобы определить, присутствует ли анти-малварь.

    Настройка

    Посмотрите config.py в каталоге lib — вы можете добавлять новые расширения, MIME-типы, магические байты, настраивать использование протоколов HTTP/HTTPS и т. д.

    Чтобы добавить новый модуль, просто добавьте функцию с нужной функциональностью в modules.py, затем добавьте имя функции в список "active_modules" в config.py.

    Чтобы добавить новое расширение файла, добавьте файл sample.{ext} в assets/sample_files, затем добавьте расширение и его MIME-тип/магические байты в config.py.

    Загрузка:

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

    Установка:

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

    Установка из Docker Hub

    root@kitploit:~
    sudo docker pull sajibuu/upload_bypass 
    

    Установка из локального Docker-файла

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

    Примеры использования Docker

    Пример без прокси:

    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
    

    Пример с прокси:

    Убедитесь, что слушаете порт 8080 на всех интерфейсах!

    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
    

    Ограничения:

    Инструмент не будет работать должным образом в следующих случаях:

    1. Реализована CAPTCHA.
    2. Требуется CSRF-токен для каждого запроса.
    3. Указана целевая папка для загруженных файлов, но загруженные файлы сохраняются с GUID (глобально уникальным идентификатором) вместо их фактических имён — программа не сможет войти в интерактивную оболочку.

    Отказ от ответственности

    Обратите внимание, что использование Upload Bypass и любые действия, предпринимаемые с его помощью, осуществляются исключительно на ваш собственный риск. Инструмент предоставляется только для образовательных и тестовых целей. Разработчик Upload Bypass не несёт ответственности за любое неправомерное использование, ущерб или незаконные действия, вызванные его использованием.

    Использование:

    Внимание

    Программа работает только с файлами запросов, созданными прокси-инструментами, такими как Burp Suite и ZAP OWASP.

    Перед сохранением файла запроса из используемого вами прокси (например, Burp Suite) замените следующие значения параметров на соответствующие маркеры:

    Содержимое файла: *data*

    Пример: замените двоичные данные изображения строкой *data*

    Имя файла: *filename*

    Пример: замените имя файла вместе с расширением строкой *filename*

    Заголовок Content-Type: *mimetype*.

    Пример: замените content-type (MIME-тип) файла строкой *mimetype*

    Пример 1:

    Как это должно выглядеть в JSON-запросе:

    image

    Пример 2:

    Как это должно выглядеть в запросе с multipart-данными:

    2024-02-27_11h20_23

    Параметры пользователя:

    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
    

    Примеры

    Режим обнаружения

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

    Режим эксплуатации

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

    Режим анти-малвари

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

    Проблемы

    Если вы столкнулись с проблемой, используйте режим отладки со значением флага 2 и поделитесь им со мной (отладочный файл сохраняется с аргументами пользователя, предоставленным файлом запроса и ошибкой стека вызовов). Если файл содержит конфиденциальную информацию, вы можете использовать значение флага 1, которое сохраняет только ошибку стека вызовов в файл.

    Вклад

    Если вы хотите внести вклад в мой код, укажите точно, что вы добавили в код и почему, и убедитесь, что вы выполнили несколько тестов перед отправкой запроса на слияние.

    Благодарности

    • Hacktricks — особая благодарность за предоставление ценных техник и идей, использованных в этом инструменте.
    • Artemixer — спасибо за вдохновение вашей облегчённой версией моего инструмента, что побудило меня переписать весь код и сделать его модульным!
    Скачать инструмент