저번 SSRF 포스팅에 이어서 이번에는 practitioner 레벨의 랩을 풀어보자
리디렉션 취약점을 이용해서 필터를 바이패스해야 한다
Open Redirection vulnerability
웹 서비스에서 사용자의 입력을 기반으로 redirect 하는 기능을 이용하여 공격자가 의도한 도메인으로 사용자를 이동시키는 공격 방법. 서버에서 입력값을 검증하지 않고 유저가 의도한 경로로 리다이렉션이 허용되는 취약점이다.
SSRF with filter bypass via open redirection vulnerability Writeup
내부 시스템에서 데이터를 가져와서 상품의 재고를 확인하는 기능이 있다
재고를 확인하는 url을 변조해서 admin 페이지에 접근해서 carlos 계정을 삭제하면 된다
재고확인 쿼리를 보내는 POST 메소드 파켓을 burpsuite에서 찾았다
stockApi 파라미터 값을 보면 productId storeId 값이 있다
근데 url로 연결되는 값 없이 상품 ID만 있어서 다른 방식을 이용해야 할 듯
재고확인 기능대신에 다음 상품으로 넘어가는 next product 파켓을 보니까
path=/product?productId=
이렇게 다음에 어떤 페이지로 넘어갈 수 있을지를 변조할 수 있는 부분이 보임
path 값을 바꾸면 되겠다
어드민 인터페이스 URL로 주어진 http://192.168.0.12:8080/admin 이 값을
stockApi에 넣음
stockAPi=product/nextProduct?path=http://192.168.0.12:8080/admin
repeater에 이 값을 넣어서 요청을 보내면 200 ok 응답을 받았다
소스코드 아랫부분에 내려가니까 carlos 계정을 삭제할 수 있는 url도 확인됨
이 url을 stockApi에 넣자
성공!
위의 랩에서 드러난 open redirection 취약점 해결방안은
입력값을 검증해야 할 필요가 있고 서버 내부에 접근 가능한 권한과 경로 필터링 역시 필요하다.
'Writeup' 카테고리의 다른 글
Lab: JWT authentication bypass via unverified signature Writeup (1) | 2025.03.11 |
---|---|
[Hackthebox] Fawn Challenges Writeup (0) | 2025.03.09 |
[웹해킹] Lab: Basic SSRF against another back-end system Writeup (0) | 2025.03.02 |
[Dreamhack] 리버싱 rev-basic-6 Writeup (0) | 2025.02.28 |
[Dreamhack] 리버싱 rev-basic-5 Writeup (0) | 2025.02.26 |