https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-backend-system
서버 측 요청 위조로 자주 발생하는 유형은 애플리케이션 서버가 사용자가 직접 연결할 수 없는 다른 백엔드 시스템과 상호 작용할 수 있는 경우이다.
이러한 시스템에는 라우팅할 수 없는 개인 IP 주소가 있는 경우가 많다.
백엔드 시스템은 일반적으로 네트워크 토폴로지로 보호되기 때문에 보안 상태가 취약한 경우가 많다.
많은 경우 내부 백엔드 시스템에는 시스템과 상호 작용할 수 있는 모든 사람이 인증 없이 액세스할 수 있는 민감한 기능이 포함되어 있다.
이번 문제는 내부 백엔드 시스템에서 접근하여 사용자를 삭제하는 것이다.
저번 문제와 똑같이 내부 재고 시스템 기능을 사용하여 192.168.0.X 범위내에서 포트 8080 admin계정에 접속하여 사용자 carlos를 삭제해야 한다.
먼저 알맞는 서버 IP 범위를 찾아야 한다.
view detail에 접속하여 check stock를 클릭하여 버프스위트에서 요청을 확인한다.
POST 요청에서 하단에 보면 저번 문제와 같은 stockApi의 url이 있다.
일단 오른쪽에 Clear를 누른 후 문제에서 알려준 http://192.168.0.1:8080/admin url을 입력한다.
x의 범위는 1부터 255내에 http 상태 코드 200을 찾아야 한다.
그러므로 1부분에 Add를 선택한다.
payload탭에서 type을 Numbers로 설정하고 옵션에서 1부터 255, 1씩 커지도록 설정한다.
그 다음 Start attack을 눌러 http 상태 코드 200을 찾는다.
http://192.168.0.76:8080/admin
payload 76을 우클릭하여 send to Repeater를 선택한다.
저번 문제에서 삭제해던 url를 그대로 입력하여 Go를 누르면 해결!