
🚫 Ferramenta avançada para pesquisadores de segurança contornarem restrições 403/40X através de técnicas inteligentes e manipulação adaptativa de requisições. Rápido. Preciso. Eficaz.
nomore403 é uma ferramenta de linha de comando para testar desvios de controle de acesso HTTP e inconsistências de análise sintática em torno das respostas 401, 403 e relacionadas.
A ferramenta foi projetada para trabalho prático em segurança web: bug bounty, testes de penetração, revisões de segurança e testes de regressão de regras de controle de acesso. Ela automatiza um conjunto amplo de mutações de requisição, captura uma linha de base, filtra falsos positivos comuns e destaca as respostas com maior probabilidade de representar um desvio significativo.
Dada uma URL alvo, o nomore403:
curl para descobertas interessantes.Esta ferramenta não "quebra autenticação" por si só. Ela ajuda a encontrar diferenças entre como frontends, proxies, WAFs, CDNs, roteadores de aplicação e backends interpretam a mesma requisição.
404 ou de caminho painet/http normalizagit clone https://github.com/devploit/nomore403
cd nomore403
go build
go install github.com/devploit/nomore403@latest
Se você instalar com go install, o diretório payloads/ não é instalado automaticamente. Clone o repositório e aponte a ferramenta para esse diretório com -f, se necessário.
curl disponível no PATH para técnicas que dependem dele, como:
http-versionshttp-parserabsolute-uriA maioria das técnicas funciona sem curl.
Escaneamento básico:
./nomore403 -u https://target.tld/admin
Usar um proxy e saída verbosa:
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v
Executar apenas técnicas selecionadas:
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync
Ler alvos a partir do stdin:
cat urls.txt | ./nomore403
Usar um arquivo de requisição estilo Burp:
./nomore403 --request-file request.txt
Escrever saída legível por máquina:
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl
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'
Cada linha visível é uma resposta que diferiu o suficiente da linha de base para sobreviver à filtragem.
Campos típicos:
hdr-ip, abs-uri ou parser18., 61+ ou 100!Os resumos finais mostram as transições de linha de base para resultado:
403=>200 geralmente merece atenção imediata403=>302 pode ser interessante, mas ainda pode redirecionar para dentro de uma barreira de autenticação403->400 ou 403->404 geralmente indicam diferenças de análise sintática ou roteamento, em vez de um bypassAo final da execução, o nomore403 imprime:
LIKELY BYPASS (BYPASS PROVÁVEL)
curl reproduzívelINTERESTING VARIATIONS (VARIAÇÕES INTERESSANTES)
no visible results (nenhum resultado visível)
A pontuação é heurística. Ela se destina a priorizar resultados, não a provar exploração.
A ferramenta geralmente recompensa:
2xx3xxLocationA ferramenta geralmente desvaloriza:
400 e 404, a menos que a resposta também mude substancialmenteInterpretação recomendada:
HIGH: provavelmente acionável; revise primeiroMED: candidato plausível; geralmente vale a reprodução manualLOW: diferença de análise sintática, anomalia de roteamento ou comportamento de menor confiançaA autocalibração está habilitada por padrão no modo não verboso.
Ela envia requisições para vários caminhos inexistentes e constrói uma linha de base para o comportamento padrão de erro do alvo. Também realiza uma requisição de calibração baseada em fragmento para reduzir falsos positivos causados por caminhos com fragmento removido.
Use estas flags para controlá-la:
--no-calibrate
--strict-calibrate
Location, Content-Type e ServerA ferramenta executa todas as técnicas por padrão, a menos que você especifique -k.