This lab contains a file path traversal vulnerability in the display of product images.
The application strips path traversal sequences from the user-supplied filename before using it.
To solve the lab, retrieve the contents of the /etc/passwd
file.
lab에 들어가면 가상 shop 사이트가 나온다.
제품 이미지에 file path traversal 취약점이 있다.
application에서 파일이름을 쓰기 전에 traversal 시퀀스를 없앤다.
목표
/etc/passwd 파일을 검색한다.
일단 제품 이미지에 file path traversal이 있다고 하니까, 먼저 burpsuite를 켜고 아무 제품이나 들어간 다음 image가 get이 될 때 repeater로 보낸다.
그리고 나서 application에서 파일이름이 들어가기 전에 traversal 시퀀스를 없앤다고 하니까 확인하기 위해 filename에 ../../../../../etc/passwd
를 넣고 보내본다.
response에 400 bad request
가 뜨는 것을 알 수 있다. traversal 시퀀스를 없애니까 이번에는 traversal 시퀀스를 없애도 다시 traversal 시퀀스가 있는 중첩 traversal 시퀀스(....//
)를 사용한다. 이런 식(....//)으로 사라져도 다시 traversal 시퀀스가 남아있게 된다.
그래서 filename에 ....//....//....//....//....//etc/passwd
를 넣고 보낸다. 그러면 /etc/passwd
파일을 볼 수 있다.
그리고 /etc/passwd
를 검색했기 때문에 문제가 풀린 것을 볼 수 있다.
잘봤습니다.