[PortSwigger Web Security Academy]Lab: File path traversal, traversal sequences stripped non-recursively write up

zzsla·2023년 7월 16일
0
post-custom-banner

문제 정보

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를 검색했기 때문에 문제가 풀린 것을 볼 수 있다.

profile
[README]newbi security hacker :p
post-custom-banner

2개의 댓글

comment-user-thumbnail
2023년 7월 16일

잘봤습니다.

답글 달기
comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기