# Classificador de URL para SSRF

> Cole uma URL e veja para onde ela realmente aponta: loopback, uma faixa privada ou link-local, um endpoint de metadados de nuvem, CGNAT, espaço reservado ou a internet pública. Ofuscação de IP em decimal, octal e hexadecimal é decodificada, esquemas perigosos e credenciais embutidas são sinalizados, e um nível de risco de SSRF é exibido. Nunca resolve DNS e nunca envia a requisição.

- Tool: https://ronutz.com/pt-BR/tools/ssrf-url-classifier
- Family: Segurança e WAF

---

## O que faz

Cole uma URL e a ferramenta diz para onde ela realmente aponta: loopback, uma faixa privada ou link-local, um endpoint de metadados de nuvem, o espaço compartilhado CGNAT, outro espaço reservado ou a internet pública. Ela decodifica os truques de ofuscação de IP usados para disfarçar um endereço interno, sinaliza esquemas de URL perigosos e credenciais embutidas, e mostra um nível de risco de SSRF. Ela nunca resolve DNS e nunca envia a requisição; é um classificador, não uma sonda.

## O que é SSRF, e por que a classificação importa

Server-Side Request Forgery é um ataque em que um servidor é enganado para fazer uma requisição a uma URL escolhida pelo atacante, tipicamente para alcançar algo que o atacante não consegue alcançar diretamente: um serviço em `localhost`, uma máquina em uma faixa interna, ou o endpoint de metadados de um provedor de nuvem. Defender-se disso se resume a decidir se uma URL é segura para buscar, e essa decisão é mais difícil do que parece, porque um endereço interno pode ser escrito em muitas formas disfarçadas. Esta ferramenta foi feita para essa decisão: ela existe para ajudar você a entender uma URL e projetar uma allow-list, firmemente do lado defensivo da linha.

## As ofuscações que ela decodifica

Um filtro ingênuo que bloqueia `127.0.0.1` deixa passar as muitas outras formas de escrever o mesmo endereço, e os atacantes exploram exatamente isso. A ferramenta as decodifica para que o destino real fique visível:

- a forma inteira **decimal**, em que `2130706433` é `127.0.0.1`;
- as formas de octeto **octal** e **hexadecimal**;
- o IPv4 em **forma curta**, em que `127.1` se expande para `127.0.0.1`; e
- o **IPv6 com IPv4 mapeado**, em que um endereço IPv4 se esconde dentro de um IPv6.

Ela então classifica o literal resolvido em relação às faixas reservadas (RFC 1918 privada, RFC 3927 link-local, RFC 6598 CGNAT, e as demais) e destaca o endereço de metadados de nuvem, que é um alvo primário de SSRF.

## Esquemas, credenciais e o desconhecido honesto

Além do endereço, a ferramenta sinaliza esquemas de URL perigosos (os que vão além de `http` e `https` e que payloads de SSRF costumam abusar) e credenciais embutidas na forma `usuário:senha@host`. Uma coisa sobre a qual ela tem o cuidado de ser honesta: um nome de host simples que não seja um nome especial conhecido é reportado como resolvido em tempo de execução, e não adivinhado, porque a ferramenta nunca faz resolução de DNS. Essa é a resposta verdadeira, e é também por isso que a ferramenta é segura: ela classifica o que a URL diz, em vez de sair buscando.

## Como usar

Cole uma URL e leia sua classificação, o destino decodificado, quaisquer esquemas ou credenciais sinalizados, e o nível de risco de SSRF. Tudo é calculado localmente; nenhuma requisição é feita.

## Standards and references

- [RFC 1918 - Address Allocation for Private Internets](https://www.rfc-editor.org/rfc/rfc1918)
- [RFC 3927 - Dynamic Configuration of IPv4 Link-Local Addresses](https://www.rfc-editor.org/rfc/rfc3927)
- [RFC 6598 - IANA-Reserved IPv4 Prefix for Shared Address Space (CGNAT)](https://www.rfc-editor.org/rfc/rfc6598)
- [RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax](https://www.rfc-editor.org/rfc/rfc3986)
- [OWASP - Server Side Request Forgery Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html)

## Related reading

- [Defendendo-se de SSRF com Allow-Lists](https://ronutz.com/pt-BR/learn/ssrf-defenses-allowlists.md): A defesa durável contra SSRF é uma allow-list de destinos pretendidos, combinada com resolver o endereço antes de confiar nele e reverificar após redirecionamentos. Block-lists de faixas internas ajudam, mas perdem para ofuscação e DNS rebinding. Esta é a abordagem em camadas que se sustenta.
- [Endpoints de Metadados de Nuvem e SSRF](https://ronutz.com/pt-BR/learn/cloud-metadata-endpoints-and-ssrf.md): Toda nuvem grande dá a uma instância um serviço de metadados em um endereço link-local fixo, e ele pode devolver credenciais temporárias do papel da instância. Isso o torna o alvo de SSRF de maior valor. Conhecer os endpoints, e as defesas no estilo IMDSv2, é essencial tanto para entender o ataque quanto para a defesa.
- [Esquemas de URL Perigosos em SSRF](https://ronutz.com/pt-BR/learn/dangerous-url-schemes.md): SSRF não se limita a http. Esquemas como file, gopher, dict e ftp permitem a um atacante ler arquivos locais ou forjar bytes brutos para serviços internos como Redis e SMTP. Um buscador de URL que não restringe o esquema entrega ao atacante uma primitiva muito mais poderosa do que uma simples requisição web.
- [Faixas de IP Privadas, Reservadas e Públicas](https://ronutz.com/pt-BR/learn/private-vs-public-ip-ranges.md): Um filtro de SSRF precisa saber quais endereços são internos. Este é o mapa: espaço privado RFC 1918, loopback, link-local, NAT de operadora, as faixas de documentação e todo o resto que é público e roteável. Conhecer as faixas é o que transforma um endereço bruto em uma decisão de seguro-ou-não.
- [O Que É Server-Side Request Forgery (SSRF)](https://ronutz.com/pt-BR/learn/what-is-ssrf.md): SSRF é uma vulnerabilidade em que um atacante faz o servidor emitir uma requisição HTTP para um destino escolhido por ele. Como a requisição parte de dentro da rede do servidor, ela alcança serviços internos, metadados de nuvem e endereços de loopback que o atacante jamais alcançaria diretamente. A correção é validar o destino, não o texto da URL.
- [Truques de Ofuscação de Endereço IP](https://ronutz.com/pt-BR/learn/ip-address-obfuscation-tricks.md): Um endereço IP pode ser escrito de muitas formas: decimal simples, octal, hexadecimal, forma abreviada e IPv6 mapeado em IPv4. Cada forma volta a apontar para o mesmo endereço, e é assim que atacantes passam um alvo interno por um filtro que só bloqueia a grafia decimal pontuada. Por isso verificações de SSRF precisam decodificar, não comparar texto.
