Introducción
El equipo del estudio ha cambiado cómo Sign out this browser gestiona las sesiones. Finalizar todas las sesiones haría que la cookie antigua fallara, pero también interrumpiría otro navegador que el miembro todavía quiere utilizar. La aceptación debe cubrir tanto el resultado de seguridad como el comportamiento normal prometido.
Conservarás las solicitudes originales de cuenta y reserva de Browser A en Burp Repeater, establecerás una sesión distinta de Browser B para el mismo miembro y probarás ambas después de cerrar la sesión de A. Tu entrega combina evidencias HTTP privadas y una decisión de aceptación sin contraseñas. El entorno es independiente: no se transfieren archivos, sesiones ni pestañas de Burp anteriores.
Completa primero Reenvía una solicitud de reserva después de cerrar sesión. Debes saber iniciar el proyecto temporal de Burp, mantener la interceptación desactivada, enviar filas del historial a Repeater, leer el estado HTTP y guardar un elemento XML. Este laboratorio repite la secuencia operativa y añade una comparación con una sesión independiente. Todas las cuentas y reservas son sintéticas. Calcula unos 60 minutos, incluida la lectura y los errores habituales; es una estimación del autor.
Establece la reserva normal de Browser A
En este paso establecerás el flujo normal en este despliegue nuevo. Abre Auditor y lee la identidad, la dirección y la autorización suministradas:
cat scope.json
Utiliza únicamente http://members.test:8080/autumn, el nombre de usuario morgan y la contraseña PaperDay!47. La reserva pertenece a Morgan Reed: Printmaking, asiento P12. Conserva el ámbito suministrado, la configuración, los datos y los procesos del objetivo.
Si un espacio de trabajo gráfico muestra Disconnected, haz clic en su botón Reconnect de la parte superior. Esto vuelve a conectar la ventana existente y conserva sus cookies del navegador, las solicitudes de Burp y el progreso del objetivo.
Abre Burp. Mantén seleccionado Temporary project, haz clic en Next, mantén seleccionado Use Burp defaults y haz clic en Start Burp. Si aparece Burp Suite is out of date, haz clic en OK para continuar con la versión preparada para la formación. En la ventana principal elige Proxy → Intercept y asegúrate de que el botón indique Intercept is off. Si indica Intercept is on, haz clic una vez para que no se detengan las solicitudes normales.
Cambia a Browser A. Haz clic en la barra de direcciones de Chromium, introduce esta URL y pulsa Enter:
http://members.test:8080/autumn/
Elige View my booking, introduce morgan en Username y PaperDay!47 en Password y haz clic en Sign in. Elige Never si Chromium ofrece guardar la contraseña. Confirma Morgan Reed, Printmaking y el asiento P12 en Your next day of making y haz clic en Download booking. El CSV real contiene ese miembro, taller y asiento.
Un error al escribir las credenciales produce Sign-in unsuccessful; utiliza try again y corrige los valores suministrados. Para una ruta incorrecta, vuelve a la URL base exacta. Un error de conexión del navegador no es un rechazo HTTP: termina el asistente de Burp, comprueba la interceptación y la dirección exacta y vuelve a navegar. Cerrar una pestaña de LabEx no restablece la escena.
Conserva las solicitudes correctas de Browser A
En este paso conservarás la sesión original de Browser A antes de introducir otro navegador. Cambia a Burp y después a Proxy → HTTP history. Busca la fila GET /autumn/account para members.test:8080, haz clic derecho en ella y elige Send to Repeater. Repite la operación para GET /autumn/booking.csv. Si un filtro del historial oculta el CSV, abre la barra de filtros y activa Show all.
Abre la pestaña principal Repeater. En la primera pestaña de solicitud, confirma la ruta de la cuenta y la cabecera original Cookie: studio_session=... y haz clic en Send. Lee la respuesta Raw: HTTP 200 con la reserva de Morgan Reed. Selecciona la segunda pestaña de solicitud y haz clic en Send. Debe devolver HTTP 200 con la fila real de la reserva en CSV.
Las dos solicitudes utilizan la misma cookie de sesión original de Browser A. Mantenlas sin cambios, incluidos sus hosts, rutas y cookies. Las pestañas numeradas de Repeater identifican solicitudes, mientras que las pestañas Browser A y Browser B de LabEx identifican perfiles de navegador independientes. Cambiar de pestaña de LabEx no cambia la solicitud seleccionada dentro de Repeater.
Estas respuestas correctas son la referencia inicial. Una cookie que nunca funcionó no puede demostrar si el cierre de sesión invalidó después una sesión real. Si seleccionaste la fila incorrecta del historial, envía la ruta correcta a Repeater y utiliza esa pestaña de solicitud en su lugar; identifica la solicitud por la ruta en vez de adivinar un número de pestaña.
Prueba el límite de la sesión actual
En este paso comprobarás que cerrar la sesión de un navegador finaliza únicamente su sesión. Un perfil de navegador independiente tiene su propio almacenamiento de cookies. Una segunda pestaña dentro de Browser A compartiría la cookie de A y no permitiría esta comparación.
Cambia a la pestaña Browser B de LabEx. En su barra de direcciones de Chromium, navega a:
http://members.test:8080/autumn/login
Inicia sesión como el mismo miembro, morgan, con PaperDay!47. Elige Never si se te pregunta si quieres guardar la contraseña. Confirma la reserva y haz clic en Download booking. Deja Browser B con la sesión iniciada. Sus solicitudes correctas de cuenta y descarga deben ocurrir antes de que A cierre sesión.
Para una comparación directa de identidad, cambia a Burp → Proxy → HTTP history. Selecciona la solicitud /autumn/account más reciente de B e inspecciona su solicitud Raw. Su valor studio_session difiere del valor conservado en las pestañas originales de Repeater de A. Ambas sesiones representan a Morgan Reed, pero son estados de autenticación distintos. No copies ninguna cookie en el informe ni sustituyas la cookie conservada de A por la de B.
Cambia a Browser A y haz clic en Sign out this browser. Aparece la página de inicio de sesión. Después cambia a Burp → Repeater y haz clic en Send en la solicitud original de cuenta de A. Espera 401 Unauthorized y Sign in required. Envía también la solicitud original de reserva de A: espera HTTP 401, sin el CSV de reserva del miembro. Mantén intactas ambas cookies originales; una solicitud sin cookie no probaría la invalidación de la sesión antigua de A.

Lee la Cookie sin cambios en el panel izquierdo y 401 Unauthorized con Sign in required en el panel derecho. Es un rechazo de la sesión de A que funcionaba previamente.
Ahora cambia a Browser B. Haz clic en el botón de recarga de Chromium junto a su barra de direcciones. Su página de reserva debe seguir mostrando la reserva de Morgan Reed. Haz clic otra vez en Download booking y confirma una descarga real. Estas solicitudes nuevas demuestran que el acceso continúa; una página que se deja en pantalla sin actualizar podría estar desactualizada. Si B también perdiera el acceso, finalizar todas las sesiones infringiría el contrato explícito this browser de este curso, aunque se rechazara la cookie antigua de A. Otros productos pueden ofrecer intencionadamente una acción independiente para cerrar sesión en todas partes; se trata de un contrato distinto.
Finalmente, cambia a Browser A, vuelve a iniciar sesión con las credenciales suministradas, consulta la reserva y haz clic en Download booking. Una sesión nueva sigue funcionando. Vuelve a Burp sin cambiar las solicitudes originales de Repeater de A. Sus respuestas más recientes siguen siendo las dos respuestas HTTP 401 posteriores al cierre de sesión.
Puedes aceptar este cambio acotado: la sesión antigua de A falla en ambos recursos protegidos, la sesión independiente ya establecida de B sigue funcionando y funciona un inicio de sesión nuevo. Esto no demuestra todos los aspectos de la seguridad de sesiones.
Si cerraste accidentalmente la sesión de B o sustituiste la cookie antigua de A, establece dos sesiones independientes nuevas y repite la secuencia completa: establece la referencia inicial de ambos recursos en ambos navegadores, conserva las solicitudes de A, cierra la sesión de A, vuelve a enviar las solicitudes de A, recarga y descarga en B y confirma después un inicio de sesión nuevo en A. Volver a abrir una pestaña por sí solo no crea una sesión que las sustituya.
Conserva las evidencias de la prueba aceptada
En este paso entregarás evidencias privadas y la decisión de aceptación respaldada. Cambia a Auditor, que se inicia en /home/labex/project. Como se enseñó anteriormente, umask 077 restringe los archivos nuevos en este shell, mkdir -p crea el directorio de evidencias y chmod 700 hace que ese directorio sea privado.
umask 077
mkdir -p evidence
chmod 700 evidence
Cambia a Burp → Repeater. Selecciona la solicitud original de cuenta de A y confirma que su respuesta más reciente es el HTTP 401 posterior al cierre de sesión. Haz clic derecho en el editor Request, selecciona Save item e introduce este File Name absoluto:
/home/labex/project/evidence/account-after.xml
Deja marcada Base64-encode requests and responses y haz clic en Save. Cierra el aviso de éxito OK si aparece. Repite la operación para la solicitud original de reserva de A, cuya respuesta más reciente también debe ser HTTP 401:
/home/labex/project/evidence/booking-after.xml
Estos elementos XML contienen la cookie original de A. Base64 es una codificación, no un cifrado. Cambia a Auditor y restringe los archivos a su propietario:
chmod 600 evidence/account-after.xml evidence/booking-after.xml
ls -l evidence
Espera -rw------- en ambos archivos. Utiliza el mismo formato de here-document literal de antes para un informe sin contraseñas. > sustituye assessment.json; el JSON de cierre debe estar en su propia línea.
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
Entrega los pares XML originales y este informe, sin incluir contraseñas, cookies ni solicitudes sin procesar en el informe. Los hechos existentes del servidor respaldan el acceso independiente de B y el inicio de sesión nuevo; la verificación no realiza inicios de sesión, cierres de sesión ni solicitudes de reenvío que falten. Su solicitud de conservación de la página pública puede añadir un registro de acceso, y la evaluación repetida conserva tus archivos.
Para un nombre de archivo incorrecto, exporta la misma respuesta real a la ruta correcta y vuelve a aplicar chmod 600. Si tu shell está en otro lugar, utiliza pwd para inspeccionarlo y cd /home/labex/project para volver. Mantén intactos el sitio público normal y todos los recursos del objetivo.
Resumen
Has probado un cierre de sesión corregido del navegador actual tanto en la página de cuenta como en la descarga de reserva. La cookie antigua fue rechazada, una sesión de navegador distinta y preexistente conservó el acceso, y un inicio de sesión nuevo siguió funcionando. Los pares XML privados de Burp y una evaluación sin contraseñas conservan la decisión de aceptación respaldada.
El desafío independiente cambia el miembro, la dirección del despliegue y la reserva. Aplica el mismo contrato completo y deja que ambas respuestas reales de los recursos determinen la decisión.



