Pular para o conteúdo
Todos os conceitos

Navegação forçada

Uma página sem link não está protegida; quem descobre o endereço e digita chega nela.

"Ninguém vai achar essa página porque ela não está no menu" não é controle de acesso. Digitar ou adivinhar um endereço e abrir uma página que não tem link é navegação forçada (forced browsing). Se o servidor entrega a página a qualquer pedido, o link na tela nunca foi a tranca.

E os endereços "escondidos" vazam com facilidade. O robots.txt lista justamente os caminhos que o site não quer que apareçam no buscador, virando um mapa deles:

Disallow: /admin/dashboard

Também aparecem em sitemap.xml, em comentários do HTML, no JavaScript do front, em mensagens de erro, e em listas de nomes comuns (/admin, /backup, /old) que um scanner testa em segundos.

O conserto não é esconder melhor, é checar acesso no servidor em toda página sensível, linkada ou não. Em Python, é não deixar nenhuma view administrativa sem @login_required/@admin_required, por mais oculta que ela pareça.

Menu do site / /members /plots /help nenhum link para admin robots.txt Disallow: /admin/dashboard Servidor painel de admin entrega a página digita o endereço
O menu não linka /admin/dashboard, mas o robots.txt revela o caminho e o servidor entrega a página a quem digita: esconder o link não é trancar.

Aparece nestes desafios