From 34ec727ca1b6b9e3f200ba4e7ca8e8ddc596fbc2 Mon Sep 17 00:00:00 2001 From: Alexander Bielen Date: Mon, 26 Nov 2018 19:10:36 +0100 Subject: [PATCH] [TASK]Added getResource() to catch error and fixed inverted statement --- .../org/parabot/core/asm/redirect/ClassRedirect.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java index 0925aeb..6ca9985 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java @@ -7,6 +7,7 @@ import org.parabot.environment.scripts.Script; import java.io.InputStream; import java.lang.annotation.Annotation; import java.lang.reflect.*; +import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; import java.security.ProtectionDomain; @@ -58,6 +59,15 @@ public class ClassRedirect { return Class.forName(name); } + public static URL getResource(Class c, String path) { + if(validStack() || validRequest(c)) { + return c.getResource(path); + } + + System.err.println(c.getName() + "#getResource(" + path + ") Blocked."); + throw RedirectClassAdapter.createSecurityException(); + } + public static ClassLoader getClassLoader(Class c) { System.err.println(c.getName() + "#getClassLoader()" + " Blocked."); throw RedirectClassAdapter.createSecurityException(); @@ -213,6 +223,6 @@ public class ClassRedirect { private static boolean validRequest(Class c) { Core.verbose("Got request for class: " + c.getName()); - return !c.getName().toLowerCase().contains("parabot"); + return c.getName().toLowerCase().contains("parabot"); } }