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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/devploit/nomore403
РазведкаСканеры уязвимостейОбход IDS/IPSОбход WAFВеб-безопасностьТестирование на Проникновение
GitHubdevploit/nomore403

nomore403

🚫 Продвинутый инструмент для специалистов по безопасности для обхода ограничений 403/40X с помощью умных техник и адаптивного манипулирования запросами. Быстрый. Точный. Эффективный.

Репозиторий
1.8k2142 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

NoMore403 logo

NoMore403

GitHub stars GitHub forks Go Report Card Go version License: MIT Contributions welcome

nomore403 — это инструмент командной строки для тестирования обхода контроля доступа HTTP и несоответствий парсеров вокруг ответов 401, 403 и связанных с ними.

Инструмент предназначен для практической работы в области веб-безопасности: bug bounty, пентестинг, проверки безопасности и регрессионное тестирование правил контроля доступа. Он автоматизирует широкий набор мутаций запросов, фиксирует базовый уровень, фильтрует распространённые ложные срабатывания и выделяет ответы, которые с наибольшей вероятностью представляют собой значимый обход.

Что он делает

Для заданного целевого URL nomore403:

  1. Отправляет базовый запрос для захвата заблокированного ответа.
  2. При необходимости автоматически калибруется по несуществующим путям, чтобы изучить поведение цели по умолчанию при ошибках.
  3. Запускает набор техник обхода, которые изменяют путь запроса, метод, заголовки или формат передачи.
  4. Оценивает и группирует результаты для снижения шума.
  5. Выводит воспроизводимые доказательства, включая команды curl для интересных находок.

Этот инструмент сам по себе не «ломает аутентификацию». Он помогает найти различия в интерпретации одного и того же запроса между фронтендами, прокси, WAF, CDN, маршрутизаторами приложений и бэкендами.

Возможности

  • Сравнение с базовым ответом на основе эталона
  • Автоматическая калибровка для уменьшения ложных срабатываний от стандартных ответов 404 или ответов с родительским путём
  • Оценка результатов с отдельными сводками для вероятных обходов и интересных вариаций
  • Воспроизведение и повторяемость для ценных находок
  • Повторные попытки и задержка при временных сетевых ошибках
  • Одновременное выполнение с отображением прогресса по каждой технике
  • Поддержка сырых HTTP-запросов для форм, которые net/http нормализует
  • Вывод в JSON и JSONL для конвейеров и постобработки
  • Ввод из одного URL, файла URL, stdin или файла запроса

Установка

Сборка из исходников

root@kitploit:~
git clone https://github.com/devploit/nomore403
cd nomore403
go build

Установка через Go

root@kitploit:~
go install github.com/devploit/nomore403@latest

При установке через go install каталог payloads/ не устанавливается автоматически. Клонируйте репозиторий и при необходимости укажите инструменту путь к этому каталогу с помощью -f.

Требования

  • Go 1.24 или новее для сборки из исходников
  • curl в PATH для техник, которые от него зависят, например:
    • http-versions
    • http-parser
    • absolute-uri

Большинство техник работают без curl.

Быстрый старт

Базовое сканирование:

root@kitploit:~
./nomore403 -u https://target.tld/admin

Использование прокси и подробный вывод:

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

Запуск только выбранных техник:

root@kitploit:~
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync

Чтение целей из stdin:

root@kitploit:~
cat urls.txt | ./nomore403

Использование файла запроса в стиле Burp:

root@kitploit:~
./nomore403 --request-file request.txt

Запись машиночитаемого вывода:

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

Пример вывода

root@kitploit:~
target: https://target.tld/admin   method: GET   frontend: AWS ELB/ALB   payloads: payloads

calib: 404 | 1245b | ±50 | frag 703b

BASELINE
  default       403    520 bytes    https://target.tld/admin

FINDINGS
  hdr-ip     100! 200   2048 bytes   X-Original-URL: /
  abs-uri     26. 403    236 bytes   request-target: https://target.tld/admin
  http        18. 400    122 bytes   HTTP/2

no visible results: 17 techniques

━━━━━━━━━━━━━━ LIKELY BYPASS ━━━━━━━━━━━━━━━━━
[!100 HIGH] Header injection (IP) 403=>200    2048b
         why: status 403->200, len Δ1528, body changed, type changed
        item: X-Original-URL: /
        curl: curl -i -sS -k -H 'User-Agent: nomore403' -H 'X-Original-URL: /' 'https://target.tld/admin'

Как читать вывод

Основной вывод техник

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

Типичные поля:

  • псевдоним техники, например hdr-ip, abs-uri или parser
  • компактная оценка, например 18., 61+ или 100!
  • итоговый статус ответа
  • размер ответа
  • использованный элемент или полезная нагрузка

Сводные переходы

Итоговые сводки показывают переходы от базового к результату:

  • 403=>200 обычно заслуживает немедленного внимания
  • 403=>302 может быть интересно, но может снова привести к барьеру аутентификации
  • 403->400 или 403->404 обычно указывают на различия в парсере или маршрутизации, а не на обход

Сводки

В конце выполнения nomore403 выводит:

  • LIKELY BYPASS
    • результаты с наивысшими оценками
    • включает воспроизводимый curl
  • INTERESTING VARIATIONS
    • значимые различия в парсере или маршрутизации, заслуживающие ручной проверки
  • no visible results
    • количество техник, которые были запущены, но после фильтрации не дали видимого вывода

Модель оценки

Оценка эвристическая. Она предназначена для приоритизации результатов, а не для доказательства эксплуатации.

Инструмент обычно поощряет:

  • переходы к 2xx
  • переходы к 3xx
  • большие изменения длины тела
  • изменения хэша тела
  • изменения Location
  • необычные перенаправления, которые, по-видимому, не ведут к странице входа или отказа
  • различия, которые сохраняются при повторном воспроизведении

Инструмент обычно понижает оценку:

  • почти идентичных ответов
  • повторяющегося шума парсера
  • нестабильных результатов повторного воспроизведения
  • перенаправлений с пустым телом, которые, по-видимому, возвращают контроль доступа
  • многих случаев 400 и 404, если только ответ также существенно не изменился

Рекомендуемая интерпретация:

  • HIGH: вероятно, требует действий; проверять в первую очередь
  • MED: plausible candidate; usually worth manual replay
  • LOW: различие в парсере, аномалия маршрутизации или поведение с низкой уверенностью

Автоматическая калибровка

Автоматическая калибровка включена по умолчанию в не-подробном режиме.

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

Используйте эти флаги для управления:

  • --no-calibrate
    • сравнивать только с заблокированным ответом по умолчанию
  • --strict-calibrate
    • также сравнивать хэш тела и ключевые заголовки, такие как Location, Content-Type и Server

Техники

Инструмент запускает все техники по умолчанию, если не указан -k.

Мутации метода и глагола

  • verbs
    • альтернативные HTTP-методы из payloads/httpmethods
  • verbs-case
    • случайный регистр HTTP-методов
  • method-override
    • шаблоны переопределения метода через запрос, заголовок и тело

Мутации на основе заголовков и доверия

  • headers
    • общая техника, включающая:
      • заголовки доверия IP
      • простые заголовки
      • вариации Host
  • hop-by-hop
    • трюки с удалением hop-by-hop с помощью Connection
  • header-confusion
    • заголовки перезаписи и переопределения пути, такие как X-Original-URL
  • host-override
    • варианты переопределения хоста и forwarded-host
  • forwarded-trust
    • Forwarded, Client-IP, Cluster-Client-IP и связанные цепочки доверия
  • proto-confusion
    • X-Forwarded-Proto, и связанные подсказки схемы

Мутации пути и нормализации

  • endpaths
    • мутации суффиксов и окончаний пути из payloads/endpaths
  • midpaths
    • вставка пути и мутации типа обхода из payloads/midpaths
  • double-encoding
    • закодированные варианты пути, включая агрессивные формы двойного кодирования
  • unicode
    • варианты пути %uXXXX и overlong UTF-8
  • path-case
    • переключение регистра сегментов пути
  • path-normalization
    • варианты нормализации dot-segment и точки с запятой
  • suffix-tricks
    • трюки с суффиксами и расширениями, такие как .json, .css, , и переключения формата в стиле запроса

Мутации фронтенда и формата передачи

  • http-versions
    • сравнивает один и тот же запрос через HTTP/1.0 и HTTP/2
  • http-parser
    • отправляет намеренно минимальный запрос curl для выявления различий в парсере клиента/фронтенда отдельно от http-versions
  • absolute-uri
    • использует абсолютную форму цели запроса через curl --request-target
  • raw-duplicates
    • дублирование заголовков, важных для безопасности, через сырой HTTP
  • raw-authority
    • дублирующие или конфликтующие сигналы authority и host
  • raw-desync
    • формы запросов, нацеленные на различия в парсинге фронтенда/бэкенда, включая конфликтующую семантику передачи

Поведение сырого HTTP

Некоторые техники требуют управления на уровне передачи, которое не предоставляет клиент net/http в Go. Эти техники используют механизм сырого HTTP.

Текущие сырые техники включают:

  • raw-duplicates
  • raw-authority
  • raw-desync
  • некоторые запросы по пути с %uXXXX unicode

Примечания:

  • сырые запросы отправляются автоматически, где необходимо
  • сырые техники в настоящее время не поддерживают прокси upstream
  • сырое поведение полезно для:
    • дублирования заголовков
    • точных целей запроса
    • граничных случаев transfer-encoding и content-length

Фингерпринтинг и порядок техник

Инструмент может выводить подсказки о фронтенде, такие как:

  • AWS ELB / ALB
  • CloudFront
  • Cloudflare
  • Nginx
  • Envoy
  • Apache
  • IIS

Эти подсказки используются для улучшения упорядочивания техник и контекста вывода.

Важно:

  • фингерпринтинг не отключает техники по умолчанию
  • если не используется -k, инструмент всё равно запускает полный набор техник по умолчанию

Воспроизводимость и повторение

Результаты с высокой оценкой автоматически повторяются в итоговой сводке.

Вывод повторения помогает ответить:

  • повторилось ли поведение?
  • сохранило ли оно тот же статус и форму ответа?
  • достаточно ли это стабильно, чтобы исследовать или сообщать?

Итоговая сводка включает:

  • количество повторений, например 1/1 или 2/2 matched on replay
  • воспроизводимую команду curl для интересных результатов

Режимы ввода

Одиночная цель

root@kitploit:~
./nomore403 -u https://target.tld/admin

Файл с URL

root@kitploit:~
./nomore403 -u targets.txt

Stdin

root@kitploit:~
cat targets.txt | ./nomore403

Файл запроса

root@kitploit:~
./nomore403 --request-file request.txt

Файлы запросов полезны при повторном воспроизведении трафика, захваченного в Burp или другом прокси.

Пользовательские позиции полезных нагрузок

Используйте --payload-position, когда хотите внедрять полезные нагрузки в явные маркеры, а не полагаться только на встроенную логику мутации endpath и midpath.

Пример:

root@kitploit:~
./nomore403 -u 'https://target.tld/§100§/admin/§200§' -p §

Типовые рабочие процессы

Быстрая триаж

root@kitploit:~
./nomore403 -u https://target.tld/admin

Исследование с перехватывающим прокси

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

Запуск только сырых и ориентированных на фронтенд техник

root@kitploit:~
./nomore403 -u https://target.tld/admin -k absolute-uri,raw-duplicates,raw-authority,raw-desync

Тестирование пользовательского доверенного IP

root@kitploit:~
./nomore403 -u https://target.tld/admin -i 10.0.0.5

Сохранение JSONL для последующего анализа

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

Флаги

Запустите ./nomore403 --help для получения полной актуальной информации по CLI.

Ключевые флаги:

  • -u, --uri
    • целевой URL, файл с URL или путь ввода
  • -k, --technique
    • список техник через запятую для запуска
  • -x, --proxy
    • прокси upstream
  • -H, --header
    • добавление пользовательских заголовков
  • -i, --bypass-ip
    • IP или имя хоста, используемые в техниках с доверительными заголовками
  • -v, --verbose
    • показывать все видимые результаты, а не только отфильтрованные
  • --json
    • запись структурированного JSON
  • --jsonl
    • запись одного JSON-объекта на результат
  • --no-calibrate
    • отключение автоматической калибровки
  • --strict-calibrate
    • сравнение большего количества полей ответа при фильтрации

Форматы вывода

Вывод в терминал для чтения человеком

Режим по умолчанию оптимизирован для интерактивного просмотра и триажа.

JSON

Используйте --json для одного структурированного документа.

JSON Lines

Используйте --jsonl, когда хотите:

  • обрабатывать результаты пошагово
  • хранить доказательства в конвейерах
  • импортировать находки в собственные инструменты

Файлы полезных нагрузок

Каталог payloads/ содержит списки, используемые несколькими техниками.

Текущие файлы включают:

  • httpmethods
  • headers
  • ips
  • simpleheaders
  • endpaths
  • midpaths
  • useragents

Вы можете настроить эти файлы под свои цели или рабочий процесс.

Ограничения

  • сырые HTTP-техники в настоящее время не поддерживают прокси upstream
  • оценка эвристическая и может давать ложные срабатывания или пропуски
  • оценка перенаправлений в настоящее время использует эвристики на основе непосредственного ответа перенаправления, а не полностью пройденной цепочки перенаправлений
  • некоторые техники зависят от специфического поведения цели и могут казаться шумными на сильно нормализованных стеках
  • техники на основе curl требуют наличия curl в PATH

Безопасность и ответственное использование

Используйте этот инструмент только на системах, которые вам разрешено тестировать.

Авторы и участники не несут ответственности за неправильное использование. Вы несёте ответственность за соблюдение действующего законодательства, правил программы и политики организации.

Вклад

Вклад приветствуется.

Полезные области для вклада:

  • исправление ошибок
  • лучшие полезные нагрузки
  • новые техники обхода
  • улучшения сырого HTTP
  • фингерпринтинг фронтенда
  • документация и примеры

Перед добавлением техники отдавайте предпочтение:

  • явно различному поведению парсинга или границы доверия
  • воспроизводимым доказательствам
  • тестам, проверяющим форму запроса или поведение при повторении

Лицензия

Этот проект выпущен под лицензией MIT. См. LICENSE.

Скачать инструмент
X-Forwarded-Port
  • ip-encoding
    • варианты localhost и доверенных адресов в точечной, целочисленной, шестнадцатеричной и IPv6 формах
  • ;index.html
  • payload-position
    • вставляет полезные нагрузки в явно отмеченные позиции в URL
  • --retry-count
    • количество повторных попыток при временных ошибках
  • --retry-backoff-ms
    • база экспоненциальной задержки в миллисекундах
  • --host-delay
    • задержка между пакетными целями на одном хосте
  • --top-score-min
    • минимальная оценка для LIKELY BYPASS
  • --variation-score-min
    • минимальная оценка для INTERESTING VARIATIONS
  • --top
    • максимальное количество записей в каждой секции сводки или 0 для отключения сводок