1
0

Add the ssrf module

This commit is contained in:
2026-08-29 09:31:09 +05:30
parent 0fceb2cd4e
commit 4e37a54e92
28 changed files with 1391 additions and 0 deletions

60
ssrf/pom.xml Normal file
View File

@@ -0,0 +1,60 @@
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<!-- Inheriting spring-boot-starter-parent so every version below is Boot-managed. The
feature this module demonstrates - org.springframework.boot.http.client.InetAddressFilter
- is new in Boot 4.1 and lives in spring-boot-http-client, which arrives transitively
with spring-boot-starter-web. See docs/01-what-ssrf-costs-you.md. -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.1.1</version>
<relativePath/>
</parent>
<groupId>com.ankurm</groupId>
<artifactId>ssrf-inet-address-filter</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<properties>
<java.version>25</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Boot 4 modularised the HTTP client story: spring-boot-starter-web does NOT bring an
auto-configured RestClient.Builder, and it does not put InetAddressFilter on the
classpath either. This starter is what pulls in spring-boot-restclient and, through
it, spring-boot-http-client. See docs/05-wiring-it-up.md. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-restclient</artifactId>
</dependency>
<!-- Present ONLY so the apacheclient profile has a second request factory to select.
Which client is on the classpath changes WHERE the filter runs - a DNS resolver for
Apache, a ProxySelector for the JDK client. See docs/04-where-the-filter-runs.md. -->
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>