java - 获取服务器端请求伪造 (SSRF)(CWE ID 918)restTemplate.getForEntity

标签 java spring-boot resttemplate veracode ssrf

我正在使用 restTemplate 在微服务架构中进行同步服务间通信。

当我们完成 Veracode 扫描时,我们在 getForEntity 方法中收到服务器端请求伪造 (SSRF) (CWE ID 918)

restTemplate.getForEntity(URL, Entity.class);

不确定为什么会遇到这个 SSRF 问题?
可能的解决办法是什么?

最佳答案

我通过在 RestTemplate 中使用 URL 之前使用 UriComponents 构建 URL 解决了这个问题。

UriComponents uriComponents = UriComponentsBuilder.newInstance()
  .scheme("http").host("www.yourdomain.com").path("/yourPath").build();

请引用此链接使用UriComponents https://www.baeldung.com/spring-uricomponentsbuilder

关于java - 获取服务器端请求伪造 (SSRF)(CWE ID 918)restTemplate.getForEntity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65679327/

相关文章:

JavaFX : how to change a scene included in the center of a BorderPane

java - 输入 "1"和 "0"以外的字符时如何显示错误消息?

java - 如何解决依赖于 WEB-INF/lib 中已有类的插件所需的 Tomcat Web 应用程序中的 JAR 冲突?

java - 在 `@ConfigurationProperties` 方法上使用 `@Bean` 注释

java - 使用泛型类型编写 HQL UPDATE 查询

java - 发生错误时如何使用 RestTemplate 读取正文?

java - 有没有一种方法可以格式化您的输出,使其更加统一?

spring-boot - Spring Boot 记录器不记录任何内容

java - 如何在Java Spring boot中模拟RestTemplate?

java - RestTemplate:没有找到合适的 HttpMessageConverter 异常