Portswigger-User ID controlled by request parameter with data leakage in redirect
풀이
이 문제는 액세스 컨트롤을 하여 리다이렉트 하지만, 리다이렉트 중 response의 body에 민감한 정보가 포함되기에 여전히 액세스 컨트롤 취약점이 있다. carlos의 API 키를 얻고 솔루션으로 제출하여 문제를 해결하라. wiener:peter 계정을 사용할 수 있다.

wiener로 로그인하여 My Account 페이지를 열면 API Key가 보인다. 이 페이지는 /my-account?id=wiener 경로로 접근한다. id를 carlos로 변경하면 메인 페이지로 이동한다.

리다이렉트 시키는 서버의 response를 잡아보면 302 Found로 반응했지만 여전히 body에 내용이 있다. 응답은 그대로 보내면서 상태 코드만 다른 것이다.

body에서 carlos의 API Key를 찾았다.

이를 solution으로 등록하면 성공한다.
이 취약점은 액세스 컨트롤을 했지만 충분히 제어하지 못하여 생긴 문제이다. 리디렉션을 하는게 다가 아니라, 리디렉션 할 때 역시 정보를 유출해서는 안 된다.
tags: writeup, access control vulnerability, wstg-athz-02, wstg-athz-03, information disclosure vulnerability, wstg-info-07, web hacking