관리 메뉴

Information Security

Lab: SSRF with filter bypass via open redirection vulnerability 본문

Web Security/PortSwigger Web Academy

Lab: SSRF with filter bypass via open redirection vulnerability

HackingPractice 2026. 1. 12. 14:39

 

이 실습에는 내부 시스템에서 데이터를 가져오는 재고 확인(stock check) 기능이 있습니다.
이 실습을 해결하려면 재고 확인 URL을 변경하여 http://localhost/admin 에 있는 관리자 인터페이스에 접근한 뒤,
사용자 carlos를 삭제해야 합니다. 개발자는 SSRF(서버 사이드 요청 위조) 방어 기능을 배포해 두었으므로,
이를 우회(bypass) 해야 합니다.

 

재고 버튼을 클릭합니다.

 

stockApi 파라미터에 http://localhost/admin 입력 시 불가능한 URL 주소라는 것을 알 수 있습니다.

 

오른쪽 하단에 Return to list | Next product 버튼이 생성된 것을 알 수 있습니다.

 

path 파라미터를 보면 경로 URL 주소가 입력되어 있는 것을 알 수 있습니다.

 

path 파라미터에 https://www.naver.com URL 주소를 입력했습니다.

 

네이버 홈페이지로 리다이렉션 된 것을 알 수 있습니다.

 

다시 재고 버튼을 클릭합니다.

 

GET 방식이 아닌 POST 방식으로 path 파라미터에 http://192.168.0.12:8080/admin 경로 입력 시 경로가 잘못되었다는 것을 알 수 있습니다. 

 

다시 한번 stockApi 파라미터에 URL 인코딩을 확인했습니다.

 

URL 인코딩을 진행하여 stockApi=%2Fproduct%2FnextProduct%3FcurrentProductId%3D4%26path%3Dhttps%3A%2F%2F192.168.0.12%3A8080%2Fadmin  입력하면 응답 코드 200을 보여주는 것을 알 수 있습니다.

 

응답 값에서 계정 carlos 삭제 URL 주소를 확인하였습니다.

 

stockApi=/product/nextProduct%3FcurrentProductId%3D4%26path%3Dhttp%3A%2F%2F192.168.0.12%3A8080%2Fadmin%2Fdelete%3Fusername%3Dcarlos 계정 carlos가 삭제되는 것을 알 수 있습니다.