Dışarıya bakan bir REST noktamız var. Bu nokta şöyle olsum
@RestController@RequestMapping("/preview")class PreviewController {private final RestClient restClient;PreviewController(RestClient.Builder builder) {this.restClient = builder.build();}@GetMappingString preview(@RequestParam URI url) {return restClient.get().uri(url).retrieve().body(String.class);}}
Eğer saldırgan URL olarak içsel/dahili bir adres verirse, butün güvenlik önlemlerini aşabilir.
Spring Boot 4.1.1 bunu önlemek için org.springframework.boot.http.client.InetAddressFilter; sınıfını sağlıyor. Böylece restClient başka bir adrese bağlanamaz.