Introdução
A equipe do estúdio mudou a forma como Sign out this browser trata as sessões. Encerrar todas as sessões faria o cookie antigo falhar, mas também interromperia outro navegador que o membro ainda deseja usar. A aceitação deve abranger tanto o resultado de segurança quanto o comportamento normal prometido.
Você guardará as requisições originais de conta e reserva de Browser A no Burp Repeater, estabelecerá uma sessão distinta de Browser B para o mesmo membro e testará ambas após encerrar a sessão de A. Sua entrega combina evidências HTTP privadas e uma decisão de aceitação sem senhas. O ambiente é independente: nenhum arquivo, sessão ou aba do Burp anterior é transferido.
Conclua primeiro Repita uma requisição de reserva após encerrar a sessão. Você deve saber iniciar o projeto temporário do Burp, manter a interceptação desativada, enviar linhas do histórico ao Repeater, ler o status HTTP e salvar um item XML. Este laboratório repete o percurso operacional e acrescenta uma comparação com sessão independente. Todas as contas e reservas são sintéticas. Reserve cerca de 60 minutos, incluindo leitura e erros comuns; esta é uma estimativa do autor.
Estabeleça a reserva normal de Browser A
Nesta etapa, você estabelecerá o fluxo normal nesta nova implantação. Abra Auditor e leia a identidade, o endereço e a autorização fornecidos:
cat scope.json
Use somente http://members.test:8080/autumn, o nome de usuário morgan e a senha PaperDay!47. A reserva pertence a Morgan Reed: Printmaking, vaga P12. Preserve o escopo fornecido, a configuração do alvo, os dados e os processos.
Se um espaço de trabalho gráfico exibir Disconnected, clique no botão Reconnect na parte superior. Isso reconecta a janela existente e mantém seus cookies do navegador, requisições do Burp e progresso no alvo.
Abra Burp. Mantenha Temporary project selecionado, clique em Next, mantenha Use Burp defaults selecionado e clique em Start Burp. Se aparecer Burp Suite is out of date, clique em OK para continuar com a versão preparada para o treinamento. Na janela principal, escolha Proxy → Intercept e verifique se o botão exibe Intercept is off. Se exibir Intercept is on, clique nele uma vez para que as requisições normais não sejam pausadas.
Mude para Browser A. Clique na barra de endereços do Chromium, digite esta URL e pressione Enter:
http://members.test:8080/autumn/
Escolha View my booking, digite morgan em Username e PaperDay!47 em Password e clique em Sign in. Escolha Never se o Chromium oferecer salvar a senha. Confirme Morgan Reed, Printmaking e a vaga P12 em Your next day of making e clique em Download booking. O CSV real contém esse membro, oficina e vaga.
Um erro de digitação nas credenciais produz Sign-in unsuccessful; use try again e corrija os valores fornecidos. Para um caminho errado, volte à URL base exata. Um erro de conexão do navegador não é uma recusa HTTP: conclua o assistente do Burp, confira a interceptação e o endereço exato e navegue novamente. Fechar uma aba do LabEx não reinicia o cenário.
Guarde as requisições bem-sucedidas de Browser A
Nesta etapa, você preservará a sessão original de Browser A antes de introduzir outro navegador. Mude para Burp e depois Proxy → HTTP history. Localize a linha GET /autumn/account de members.test:8080, clique nela com o botão direito e escolha Send to Repeater. Repita para GET /autumn/booking.csv. Se um filtro do histórico ocultar o CSV, abra a barra de filtros e ative Show all.
Abra a aba principal Repeater. Na primeira aba de requisição, confirme o caminho de conta e o cabeçalho original Cookie: studio_session=... e clique em Send. Leia a resposta Raw: HTTP 200 com a reserva de Morgan Reed. Selecione a segunda aba de requisição e clique em Send. Ela deve retornar HTTP 200 com a linha real da reserva em CSV.
As duas requisições usam o mesmo cookie de sessão original de Browser A. Mantenha-as inalteradas, incluindo host, caminhos e cookies. As abas numeradas do Repeater identificam requisições, enquanto as abas Browser A e Browser B do LabEx identificam perfis de navegador independentes. Alternar uma aba do LabEx não muda a requisição selecionada dentro do Repeater.
Essas respostas bem-sucedidas são a referência inicial. Um cookie que nunca funcionou não pode comprovar se o encerramento de sessão invalidou posteriormente uma sessão real. Se você selecionou a linha errada do histórico, envie o caminho correto ao Repeater e use essa aba de requisição; identifique-a pelo caminho em vez de adivinhar um número de aba.
Teste o limite da sessão atual
Nesta etapa, você verificará se encerrar a sessão de um navegador encerra somente aquela sessão. Um perfil de navegador independente tem seu próprio armazenamento de cookies. Uma segunda aba dentro de Browser A compartilharia o cookie de A e não permitiria essa comparação.
Mude para a aba Browser B do LabEx. Na barra de endereços do Chromium, navegue para:
http://members.test:8080/autumn/login
Entre como o mesmo membro, morgan, com PaperDay!47. Escolha Never se for solicitado salvar a senha. Confirme a reserva e clique em Download booking. Deixe Browser B conectado. Suas requisições bem-sucedidas de conta e download devem acontecer antes que A encerre a sessão.
Para uma comparação direta de identidade, mude para Burp → Proxy → HTTP history. Selecione a requisição /autumn/account mais recente de B e inspecione sua requisição Raw. Seu valor de studio_session difere do valor guardado nas abas originais de A no Repeater. As duas sessões representam Morgan Reed, mas são estados de autenticação distintos. Não copie nenhum cookie para seu relatório nem substitua o cookie guardado de A pelo de B.
Mude para Browser A e clique em Sign out this browser. A página de login aparece. Depois, mude para Burp → Repeater e clique em Send na requisição original de conta de A. Espere 401 Unauthorized e Sign in required. Envie também a requisição original de reserva de A: espere HTTP 401, sem CSV de reserva do membro. Mantenha os dois cookies originais intactos; uma requisição sem cookie não testaria a invalidação da sessão antiga de A.

Leia o Cookie inalterado no painel esquerdo e 401 Unauthorized com Sign in required no painel direito. Esta é uma recusa da sessão de A que funcionava anteriormente.
Agora mude para Browser B. Clique no botão de recarregar do Chromium ao lado da barra de endereços. Sua página de reserva ainda deve mostrar a reserva de Morgan Reed. Clique em Download booking novamente e confirme um download real. Essas novas requisições comprovam a continuidade do acesso; uma página deixada na tela sem atualizar poderia estar desatualizada. Se B também perdeu o acesso, encerrar todas as sessões violaria o contrato explícito this browser deste curso, mesmo que o cookie antigo de A fosse rejeitado. Outros produtos podem oferecer intencionalmente uma ação separada para encerrar sessões em todos os lugares; esse é um contrato diferente.
Por fim, mude para Browser A, entre novamente com as credenciais fornecidas, consulte a reserva e clique em Download booking. Uma nova sessão continua funcionando. Volte a Burp sem alterar as requisições originais de A no Repeater. Suas respostas mais recentes continuam sendo as duas respostas HTTP 401 posteriores ao encerramento de sessão.
Você pode aceitar esta alteração de escopo limitado: a sessão antiga de A falha nos dois recursos protegidos, a sessão independente já estabelecida de B continua funcionando e um novo login funciona. Isso não comprova todos os aspectos da segurança de sessões.
Se você encerrou acidentalmente a sessão de B ou substituiu o cookie antigo de A, estabeleça duas novas sessões independentes e repita a sequência completa: obtenha uma referência inicial dos dois recursos nos dois navegadores, guarde as requisições de A, encerre a sessão de A, repita as requisições de A, atualize e baixe em B e depois confirme um novo login em A. Reabrir uma aba, sozinho, não cria uma sessão substituta.
Preserve a evidência do teste aceito
Nesta etapa, você entregará evidências privadas e a decisão de aceitação sustentada por elas. Mude para Auditor, que inicia em /home/labex/project. Como ensinado anteriormente, umask 077 restringe novos arquivos neste shell, mkdir -p cria o diretório de evidências e chmod 700 torna esse diretório privado.
umask 077
mkdir -p evidence
chmod 700 evidence
Mude para Burp → Repeater. Selecione a requisição original de conta de A e confirme que sua resposta mais recente é HTTP 401 posterior ao encerramento de sessão. Clique com o botão direito no editor Request, selecione Save item e digite este File Name absoluto:
/home/labex/project/evidence/account-after.xml
Deixe Base64-encode requests and responses marcada e clique em Save. Feche um aviso de sucesso OK, se houver. Repita para a requisição original de reserva de A, cuja resposta mais recente também deve ser HTTP 401:
/home/labex/project/evidence/booking-after.xml
Esses itens XML contêm o cookie original de A. Base64 é uma codificação, não criptografia. Mude para Auditor e restrinja os arquivos ao proprietário:
chmod 600 evidence/account-after.xml evidence/booking-after.xml
ls -l evidence
Espere -rw------- nos dois arquivos. Use o mesmo formato literal de here-document de antes para um relatório sem senhas. > substitui assessment.json; o JSON de fechamento deve ficar em sua própria linha.
cat > assessment.json <<'JSON'
{
"decision": "accept",
"account_after_logout": 401,
"booking_after_logout": 401,
"independent_browser_preserved": true,
"fresh_sign_in_works": true
}
JSON
cat assessment.json
Entregue os pares XML originais e este relatório, mantendo senhas, cookies e requisições brutas fora do relatório. Fatos existentes no servidor sustentam o acesso independente de B e o novo login; a verificação não realiza logins, encerramentos de sessão nem requisições de repetição ausentes. Sua requisição de preservação da página pública pode acrescentar um registro de acesso, e a avaliação repetida preserva seus arquivos.
Para um nome de arquivo errado, exporte a mesma resposta real para o caminho correto e reaplique chmod 600. Se seu shell estiver em outro local, use pwd para inspecioná-lo e cd /home/labex/project para voltar. Mantenha o site público normal e todos os recursos do alvo intactos.
Resumo
Você testou um encerramento de sessão corrigido do navegador atual tanto na página de conta quanto no download da reserva. O cookie antigo foi rejeitado, uma sessão de navegador distinta e já existente manteve o acesso e um novo login continuou funcionando. Pares XML privados do Burp e uma avaliação sem senhas preservam a decisão de aceitação sustentada pelas evidências.
O desafio independente altera o membro, o endereço da implantação e a reserva. Aplique o mesmo contrato completo e deixe que as duas respostas reais dos recursos determinem a decisão.



