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
nomore403 — 🚫 Outil avancé pour les chercheurs en sécurité afin de contourner les restrictions 403/40X grâce à des techniques intelligentes et une manipulation adaptative des requêtes. Rapide. Précis. Efficace. | Kitploit
Outils/GitHubGitHub/devploit/nomore403
ReconnaissanceScanners de VulnérabilitésÉvasion IDS/IPSContournement de WAFSécurité WebTests d'Intrusion
GitHubdevploit/nomore403

nomore403

🚫 Outil avancé pour les chercheurs en sécurité afin de contourner les restrictions 403/40X grâce à des techniques intelligentes et une manipulation adaptative des requêtes. Rapide. Précis. Efficace.

Voir le dépôt
1.8k2141il y a 2 moisVé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

Logo NoMore403

NoMore403

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

nomore403 est un outil en ligne de commande permettant de tester les contournements du contrôle d'accès HTTP et les incohérences d'analyse autour des réponses 401, 403 et autres réponses associées.

L'outil est conçu pour les travaux pratiques de sécurité web : bug bounty, tests d'intrusion, revues de sécurité et tests de régression des règles de contrôle d'accès. Il automatise un large ensemble de mutations de requêtes, capture une référence, filtre les faux positifs courants et met en évidence les réponses les plus susceptibles de représenter un contournement significatif.

Ce qu'il fait

Étant donné une URL cible, nomore403 :

  1. Envoie une requête de référence pour capturer la réponse bloquée.
  2. Optionnellement, s'auto-calibre par rapport à des chemins inexistants pour apprendre le comportement d'erreur par défaut de la cible.
  3. Exécute un ensemble de techniques de contournement qui modifient le chemin, la méthode, les en-têtes ou le format filaire de la requête.
  4. Note et regroupe les résultats pour réduire le bruit.
  5. Émet des preuves reproductibles, y compris des commandes curl pour les découvertes intéressantes.

Cet outil ne « casse pas l'authentification » en lui-même. Il aide à trouver les différences dans la manière dont les frontends, proxys, WAF, CDN, routeurs d'application et backends interprètent la même requête.

Fonctionnalités

  • Comparaison basée sur une référence avec la réponse bloquée
  • Auto-calibration pour réduire les faux positifs provenant des réponses par défaut 404 ou de chemins parents
  • Sortie notée avec des résumés séparés pour les contournements probables et les variations intéressantes
  • Rejeu et reproductibilité pour les découvertes de grande valeur
  • Réessai et backoff pour les pannes réseau transitoires
  • Exécution concurrente avec progression par technique
  • Support HTTP brut pour les formes de requêtes que net/http normalise
  • Sortie JSON et JSONL pour les pipelines et le post-traitement
  • Entrée depuis une URL unique, fichier d'URL, stdin, ou fichiers de requêtes

Installation

Compilation depuis les sources

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

Installation avec Go

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

Si vous installez avec go install, le répertoire payloads/ n'est pas installé automatiquement. Clonez le dépôt et pointez l'outil vers ce répertoire avec -f si nécessaire.

Prérequis

  • Go 1.24 ou ultérieur pour compiler depuis les sources
  • curl disponible dans PATH pour les techniques qui en dépendent, telles que :
    • http-versions
    • http-parser
    • absolute-uri

La plupart des techniques fonctionnent sans curl.

Démarrage rapide

Analyse de base :

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

Utiliser un proxy et une sortie verbose :

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

Exécuter uniquement certaines techniques :

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

Lire les cibles depuis stdin :

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

Utiliser un fichier de requête de style Burp :

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

Écrire une sortie lisible par machine :

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

Exemple de sortie

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'

Comment lire la sortie

Sortie principale des techniques

Chaque ligne visible correspond à une réponse qui s'est suffisamment écartée de la référence pour survivre au filtrage.

Champs typiques :

  • alias de la technique, par exemple hdr-ip, abs-uri ou parser
  • indicateur de score compact tel que 18., 61+ ou 100!
  • statut de la réponse finale
  • taille de la réponse
  • élément ou charge utile utilisée

Transitions dans les résumés

Les résumés finaux montrent les transitions de la référence au résultat :

  • 403=>200 mérite généralement une attention immédiate
  • 403=>302 peut être intéressant, mais peut encore rediriger vers une barrière d'authentification
  • 403->400 ou 403->404 signalent généralement des différences d'analyseur ou de routage plutôt qu'un contournement

Résumés

À la fin de l'exécution, nomore403 affiche :

  • CONTOURNEMENT PROBABLE
    • résultats les mieux notés
    • inclut une commande curl reproductible
  • VARIATIONS INTÉRESSANTES
    • différences d'analyseur ou de routage significatives qui méritent une vérification manuelle
  • aucun résultat visible
    • nombre de techniques qui ont été exécutées mais n'ont produit aucun résultat visible après filtrage

Modèle de notation

La notation est heuristique. Elle vise à prioriser les résultats, pas à prouver l'exploitation.

L'outil favorise généralement :

  • les transitions vers 2xx
  • les transitions vers 3xx
  • les changements importants de longueur du corps
  • les changements de hachage du corps
  • les changements de Location
  • les redirections anormales qui ne semblent pas aboutir à une page de connexion ou de refus
  • les différences qui survivent au rejeu

L'outil dévalorise généralement :

  • les réponses quasi identiques
  • le bruit d'analyse répété
  • les résultats de rejeu instables
  • les redirections avec corps vide qui semblent ramener vers un contrôle d'accès
  • de nombreux cas 400 et 404 sauf si la réponse change également de manière substantielle

Interprétation recommandée :

  • HAUTE : probablement exploitable ; à examiner en premier
  • MOYENNE : candidat plausible ; généralement intéressant à rejouer manuellement
  • BASSE : différence d'analyseur, anomalie de routage ou comportement de moindre confiance

Auto-calibration

L'auto-calibration est activée par défaut en mode non verbose.

Elle envoie des requêtes vers plusieurs chemins inexistants et construit une référence pour le comportement d'erreur par défaut de la cible. Elle effectue également une requête de calibration basée sur des fragments pour réduire les faux positifs causés par les chemins dont les fragments sont supprimés.

Utilisez ces drapeaux pour la contrôler :

  • --no-calibrate
    • comparer uniquement avec la réponse bloquée par défaut
  • --strict-calibrate
    • comparer également le hachage du corps et les en-têtes clés tels que Location, Content-Type et Server

Techniques

L'outil exécute toutes les techniques par défaut, sauf si vous spécifiez -k.

Mutations de méthodes et de verbes

  • verbs
    • méthodes HTTP alternatives depuis payloads/httpmethods
  • verbs-case
    • casse aléatoire des méthodes HTTP
  • method-override
    • motifs de surcharge de méthode via requête, en-tête et corps

Mutations basées sur les en-têtes et la confiance

  • headers
    • technique générique couvrant :
      • en-têtes de confiance IP
      • en-têtes simples
      • variations de Host
  • hop-by-hop
    • astuces de suppression hop-by-hop utilisant Connection
  • header-confusion
    • en-têtes de réécriture et de remplacement de chemin comme X-Original-URL
  • host-override
    • variantes de surcharge de host et de Forwarded-Host
  • forwarded-trust
    • Forwarded, Client-IP, Cluster-Client-IP et chaînes de confiance associées
  • proto-confusion
    • X-Forwarded-Proto, et indices de schéma associés

Mutations de chemin et de normalisation

  • endpaths
    • mutations de suffixe et de fin de chemin depuis payloads/endpaths
  • midpaths
    • mutations d'insertion de chemin et de traversée depuis payloads/midpaths
  • double-encoding
    • variantes de chemin encodé, y compris les formes de double encodage agressives
  • unicode
    • variantes de chemin %uXXXX et UTF-8 surlongues
  • path-case
    • changement de casse des segments de chemin
  • path-normalization
    • variantes de normalisation des segments point et point-virgule
  • suffix-tricks
    • astuces de suffixe et d'extension comme .json, .css, et les bascules de requête de type format

Mutations de frontend et de format filaire

  • http-versions
    • compare la même requête à travers HTTP/1.0 et HTTP/2
  • http-parser
    • envoie une requête curl délibérément minimale pour exposer les différences d'analyse entre client et frontend, séparément de http-versions
  • absolute-uri
    • utilise des cibles de requête sous forme absolue via curl --request-target
  • raw-duplicates
    • duplique les en-têtes sensibles pour la sécurité avec HTTP brut
  • raw-authority
    • signaux d'autorité et de host dupliqués ou conflictuels
  • raw-desync
    • formes de requêtes visant les différences d'analyse frontend/backend, y compris les sémantiques de transfert conflictuelles

Comportement HTTP brut

Certaines techniques nécessitent un contrôle au niveau filaire que le client net/http de Go ne fournit pas. Ces techniques utilisent le moteur HTTP brut.

Les techniques brutes actuelles incluent :

  • raw-duplicates
  • raw-authority
  • raw-desync
  • certaines requêtes de chemin unicode %uXXXX

Remarques :

  • les requêtes brutes sont envoyées automatiquement lorsque nécessaire
  • les techniques brutes ne supportent pas actuellement les proxys en amont
  • le comportement brut est utile pour :
    • les en-têtes dupliqués
    • les cibles de requête exactes
    • les cas limites de transfert-encoding et content-length

Empreinte numérique et ordre des techniques

L'outil peut déduire des indications sur le frontend, comme :

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

Ces indices sont utilisés pour améliorer l'ordre des techniques et le contexte de la sortie.

Important :

  • l'empreinte numérique ne désactive pas les techniques par défaut
  • sauf si vous utilisez -k, l'outil exécute toujours l'ensemble complet des techniques par défaut

Reproductibilité et rejeu

Les résultats de grande valeur sont automatiquement rejoués dans le résumé final.

La sortie du rejeu aide à répondre :

  • le comportement s'est-il répété ?
  • a-t-il conservé le même statut et la même forme de réponse ?
  • est-ce suffisamment stable pour être investigué ou signalé ?

Le résumé final inclut :

  • des compteurs de rejeu comme 1/1 ou 2/2 matched on replay
  • une commande curl reproductible pour les résultats intéressants

Modes d'entrée

Cible unique

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

Fichier contenant des URLs

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

Stdin

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

Fichier de requête

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

Les fichiers de requête sont utiles pour rejouer du trafic capturé dans Burp ou un autre proxy.

Positions de charges utiles personnalisées

Utilisez --payload-position lorsque vous souhaitez injecter des charges utiles à des marqueurs explicites plutôt que de vous fier uniquement à la logique de mutation intégrée de fin de chemin et de milieu de chemin.

Exemple :

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

Flux de travail courants

Tri rapide

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

Investigation avec un proxy d'interception

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

Exécuter uniquement les techniques brutes et axées sur le frontend

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

Tester une IP de confiance personnalisée

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

Sauvegarder du JSONL pour une analyse ultérieure

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

Drapeaux

Exécutez ./nomore403 --help pour la CLI complète et à jour.

Drapeaux clés :

  • -u, --uri
    • URL cible, fichier d'URL ou chemin d'entrée
  • -k, --technique
    • liste de techniques séparées par des virgules à exécuter
  • -x, --proxy
    • proxy en amont
  • -H, --header
    • ajouter des en-têtes personnalisés
  • -i, --bypass-ip
    • IP ou nom d'hôte utilisé dans les techniques d'en-tête de confiance
  • -v, --verbose
    • afficher tous les résultats visibles, pas seulement la sortie filtrée
  • --json
    • écrire du JSON structuré
  • --jsonl
    • écrire un objet JSON par résultat
  • --no-calibrate
    • désactiver l'auto-calibration
  • --strict-calibrate
    • comparer plus de champs de réponse lors du filtrage

Formats de sortie

Sortie terminale lisible par l'humain

Le mode par défaut est optimisé pour la revue interactive et le tri.

JSON

Utilisez --json pour un document structuré unique.

JSON Lines

Utilisez --jsonl lorsque vous souhaitez :

  • traiter les résultats de manière incrémentielle
  • stocker des preuves dans des pipelines
  • importer les résultats dans vos propres outils

Fichiers de charges utiles

Le répertoire payloads/ contient des listes utilisées par plusieurs techniques.

Fichiers actuels :

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

Vous pouvez personnaliser ces fichiers pour les adapter à vos cibles ou à votre flux de travail.

Limitations

  • les techniques HTTP brutes ne supportent pas actuellement les proxys en amont
  • la notation est heuristique et peut produire des faux positifs ou des faux négatifs
  • la notation des redirections utilise actuellement des heuristiques sur la réponse de redirection immédiate, pas une chaîne de redirection entièrement suivie
  • certaines techniques dépendent du comportement spécifique de la cible et peuvent sembler bruyantes sur des piles fortement normalisées
  • les techniques basées sur curl nécessitent curl dans PATH

Sécurité et utilisation responsable

N'utilisez cet outil que sur des systèmes que vous êtes autorisé à tester.

Les auteurs et contributeurs ne sont pas responsables d'une mauvaise utilisation. Vous êtes responsable du respect des lois applicables, des règles du programme et des politiques organisationnelles.

Contribuer

Les contributions sont les bienvenues.

Les domaines de contribution utiles incluent :

  • corrections de bugs
  • meilleures charges utiles
  • nouvelles techniques de contournement
  • améliorations du HTTP brut
  • empreinte numérique du frontend
  • documentation et exemples

Avant de contribuer une technique, privilégiez :

  • un comportement d'analyse ou de frontière de confiance clairement distinct
  • des preuves reproductibles
  • des tests qui vérifient la forme de la requête ou le comportement de rejeu

Licence

Ce projet est publié sous licence MIT. Voir LICENSE.

Télécharger l’outil
X-Forwarded-Port
  • ip-encoding
    • variantes de localhost et d'adresses de confiance en pointillés, entier, hexadécimal et IPv6
  • ;index.html
  • payload-position
    • insère des charges utiles à des positions explicitement marquées dans l'URL
  • --retry-count
    • nombre de tentatives pour les erreurs transitoires
  • --retry-backoff-ms
    • base du backoff exponentiel en millisecondes
  • --host-delay
    • délai entre les cibles regroupées sur le même hôte
  • --top-score-min
    • score minimum pour CONTOURNEMENT PROBABLE
  • --variation-score-min
    • score minimum pour VARIATIONS INTÉRESSANTES
  • --top
    • nombre maximum d'entrées par section de résumé, ou 0 pour désactiver les résumés