2026-02-25 21:16:36 -05:00
|
|
|
import java.io.*;
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
import java.security.MessageDigest;
|
2026-04-29 19:53:34 -04:00
|
|
|
import org.yaml.snakeyaml.Yaml;
|
|
|
|
|
import org.apache.commons.text.StringSubstitutor;
|
2026-02-25 21:16:36 -05:00
|
|
|
|
|
|
|
|
class Positive {
|
|
|
|
|
// java.deser.readobject
|
|
|
|
|
void triggerDeser(InputStream is) throws Exception {
|
|
|
|
|
ObjectInputStream ois = new ObjectInputStream(is);
|
|
|
|
|
Object obj = ois.readObject();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.cmdi.runtime_exec
|
|
|
|
|
void triggerRuntimeExec(String cmd) throws Exception {
|
|
|
|
|
Runtime.getRuntime().exec(cmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.reflection.class_forname
|
|
|
|
|
void triggerClassForName(String name) throws Exception {
|
|
|
|
|
Class.forName(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.reflection.method_invoke
|
|
|
|
|
void triggerMethodInvoke(Object target) throws Exception {
|
|
|
|
|
java.lang.reflect.Method m = target.getClass().getMethod("run");
|
|
|
|
|
m.invoke(target);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.sqli.execute_concat
|
|
|
|
|
void triggerSqlConcat(java.sql.Statement stmt, String user) throws Exception {
|
|
|
|
|
stmt.executeQuery("SELECT * FROM users WHERE name = '" + user + "'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.crypto.insecure_random
|
|
|
|
|
void triggerInsecureRandom() {
|
|
|
|
|
Random r = new Random();
|
|
|
|
|
int token = r.nextInt();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.crypto.weak_digest
|
|
|
|
|
void triggerWeakDigest() throws Exception {
|
|
|
|
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.xss.getwriter_print
|
|
|
|
|
void triggerGetWriterPrint(javax.servlet.http.HttpServletResponse resp) throws Exception {
|
|
|
|
|
resp.getWriter().println("<html>" + "data" + "</html>");
|
|
|
|
|
}
|
2026-04-29 19:53:34 -04:00
|
|
|
|
|
|
|
|
// java.deser.snakeyaml_unsafe_constructor — CVE-2022-1471 regression guard.
|
|
|
|
|
void triggerSnakeyamlUnsafeConstructor() throws Exception {
|
|
|
|
|
Yaml yaml = new Yaml();
|
|
|
|
|
Object data = yaml.load("payload");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// java.code_exec.text4shell_interpolator — CVE-2022-42889 regression guard.
|
|
|
|
|
String triggerText4ShellInterpolator(String input) {
|
|
|
|
|
StringSubstitutor s = StringSubstitutor.createInterpolator();
|
|
|
|
|
return s.replace(input);
|
|
|
|
|
}
|
2026-02-25 21:16:36 -05:00
|
|
|
}
|