Path Traversal 문제이다.
제목에서 경로의 시작이 유효하다는 힌트를 주고 있다.
테스트 페이지에 접근 후 임의의 게시글 클릭 시 filename=/var/www/images/8.jpg 로 요청을 전달하고 있다.
즉, 제목에서 힌트를 얻었듯이 /var/www/imges 경로에 8.jpg 파일이 존재한다.
그렇다면 💡해당 경로에서 부터(시작) 우리가 원하는 /etc/passwd 파일의 경로로 접근하면 된다.
먼저 ../ 특수문자가 필터링되고 있는지 확인하기 위해
filename=/var/www/images/../images/8.jpg 를 입력했을 때 응답이 같은지 확인한다.
정상 요청과 응답이 같기 때문에 ../ 를 사용하여 파일에 접근이 가능하게 된다.
filename=/var/www/images/../../../etc/passwd 입력해주면 passwd 파일에 접근이 가능하다. 👏