Skip to content

Commit 70c5c56

Browse files
committed
Replace XSS/SSTI/messaging modules with Kotlin coroutine SSRF proxy
1 parent b893eb0 commit 70c5c56

24 files changed

Lines changed: 106 additions & 939 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Intentionally vulnerable patterns, grouped by category:
2020

2121
**Cross-endpoint persistence**: taint flow through JPA save/load cycle, inter-procedural getter through DI-resolved `@Service`, column-level sensitivity, field-level sanitization in entity constructor, `@Service` field state across requests, mid-flow sanitizer
2222

23-
**Async coroutines**: user-controlled URL through Kotlin coroutine scope
23+
**Async coroutines (SSRF)**: user-controlled URL fetched via `URI.toURL().openConnection()` inside a Kotlin `CoroutineScope.launch` on `Dispatchers.IO`, with taint flowing through a data-class DTO and a `CompletableDeferred` bridge
2424

2525
## Tech Stack
2626

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dependencies {
2424
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
2525
implementation("org.freemarker:freemarker:2.3.33")
2626
implementation("commons-io:commons-io:2.17.0")
27+
implementation("org.jetbrains.kotlin:kotlin-reflect")
2728
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
2829
runtimeOnly("com.h2database:h2")
2930
testImplementation("org.springframework.boot:spring-boot-starter-test")

src/main/java/org/seqra/Main.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import org.springframework.boot.autoconfigure.domain.EntityScan;
66
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
77

8-
@SpringBootApplication(scanBasePackages = {"org.seqra", "org.spring"})
9-
@EntityScan("org.spring.persistence")
10-
@EnableJpaRepositories("org.spring.persistence")
8+
@SpringBootApplication(scanBasePackages = "org.seqra")
9+
@EntityScan("org.seqra.spring.persistence")
10+
@EnableJpaRepositories("org.seqra.spring.persistence")
1111
public class Main {
1212
public static void main(String[] args) {
1313
SpringApplication.run(Main.class, args);

src/main/java/org/seqra/complexity/DefaultFormatter.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/org/seqra/complexity/EscapeFormatter.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/org/seqra/complexity/HtmlPageBuilder.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/main/java/org/seqra/complexity/IFormatter.java

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/main/java/org/seqra/complexity/Profile.java

Lines changed: 0 additions & 76 deletions
This file was deleted.

src/main/java/org/seqra/complexity/UserProfileController.java

Lines changed: 0 additions & 171 deletions
This file was deleted.

0 commit comments

Comments
 (0)