Intermediário 8 desafios
Injeção de comando
Muito site chama um programa do sistema para fazer o trabalho pesado: dar um ping num servidor, gerar uma miniatura, compactar um arquivo. Quando ele monta esse comando colando o que você escreveu, sem separar o dado do comando, um ponto e vírgula no lugar certo faz o seu texto virar um segundo comando que o servidor obedece. Aqui você segue a injeção de comando em pedaços: primeiro reconhece onde a sua entrada chega no comando de shell, depois quebra o comando com um metacaractere, contorna um filtro ingênuo, injeta uma opção de linha de comando mesmo sem metacaractere, raciocina sobre uma falha cega em que a saída não aparece, encadeia para ler um segredo de brinquedo, lê o patch que fecha a falha e, no fim, junta tudo. Cada desafio termina no mesmo conserto: não chamar o shell, passar os argumentos como lista e validar a entrada contra uma lista de permissão. Tudo se resolve lendo o código e rodando um simulador offline que vem no desafio. Nada mira sistema real: o alvo é sempre uma ferramenta de brinquedo da estância fictícia PampaCloud.
O que você vai aprender
- Injeção de comando
- Entrada que vira comando
- Metacaracteres do shell
- Injeção de argumento
- Injeção de comando cega
- Como fechar a injeção de comando
- Web Com arquivo Exemplo resolvido
Onde entra o comando
Disponível - Web Com arquivo Exemplo resolvido
O ponto e vírgula
0% de acerto, 0 resolveram
Disponível - Web Com arquivo
Contornar o filtro
Disponível - Web Com arquivo
Injeção de argumento
Disponível - Web Com arquivo
Injeção cega
0% de acerto, 0 resolveram
Disponível - Web Com arquivo
Ler o segredo
Disponível - Web Com arquivo
Lendo o patch
Disponível - Web Com arquivo
Capstone: a cadeia inteira
0% de acerto, 0 resolveram
Disponível