mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-09 19:45:13 +02:00
Dynamic (#77)
This commit is contained in:
parent
55247b7fcd
commit
991c84a1eb
1464 changed files with 225448 additions and 1985 deletions
23
tests/dynamic_fixtures/java/static_method/Benign.java
Normal file
23
tests/dynamic_fixtures/java/static_method/Benign.java
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Phase 14 — plain static method, benign.
|
||||
//
|
||||
// Invokes a fixed shell command and discards the user input — the `;`
|
||||
// in a vuln payload cannot escape because the payload is never passed
|
||||
// to a shell-interpreted argv slot.
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class Benign {
|
||||
public static void processInput(String input) throws Exception {
|
||||
System.out.print("__NYX_SINK_HIT__\n");
|
||||
// No-op echo of a fixed string — `input` is dropped.
|
||||
String[] cmd = {"/bin/sh", "-c", "echo hello"};
|
||||
Process p = Runtime.getRuntime().exec(cmd);
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.out.println(line);
|
||||
}
|
||||
p.waitFor();
|
||||
}
|
||||
}
|
||||
21
tests/dynamic_fixtures/java/static_method/Vuln.java
Normal file
21
tests/dynamic_fixtures/java/static_method/Vuln.java
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// Phase 14 — plain static method, vulnerable.
|
||||
//
|
||||
// JDK-only. Passes user input through `/bin/sh -c` so a `;` in the
|
||||
// payload escapes into a new command (CMDI oracle marker fires).
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class Vuln {
|
||||
public static void processInput(String input) throws Exception {
|
||||
System.out.print("__NYX_SINK_HIT__\n");
|
||||
String[] cmd = {"/bin/sh", "-c", "echo hello " + input};
|
||||
Process p = Runtime.getRuntime().exec(cmd);
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.out.println(line);
|
||||
}
|
||||
p.waitFor();
|
||||
}
|
||||
}
|
||||
14
tests/dynamic_fixtures/java/static_method/pom.xml
Normal file
14
tests/dynamic_fixtures/java/static_method/pom.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Phase 14 fixture pom.xml — pins JDK 17 for materialize_java parity.
|
||||
Not consumed by prepare_java (which shells out to `javac` directly);
|
||||
present so the Phase 09 Track D.2 dep-emission path has a reference. -->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>nyx</groupId>
|
||||
<artifactId>static-method-fixture</artifactId>
|
||||
<version>0.0.1</version>
|
||||
<properties>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
</project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue