Hier ist eine Liste basierend auf meiner persönlichen Recherche zur Client-seitigen Java-Sicherheit im Allgemeinen und zur Verwendung der Eclipse-IDE, um zu sehen, welche Methoden SecurityManager-Überprüfungen durchführen.
ClassLoader definieren Klassen (= beliebige Java-Codeausführung):
java.lang.ClassLoader.defineClass
java.net.URLClassLoader
\= Codeausführung
Java Beans Introspection kann ClassLoader dazu bringen, Klassen aus einer nicht vertrauenswürdigen Quelle zu laden (Beispiel Schwachstelle - cve-2010-1622)
java.beans.Instrospector.getBeanInfo
\= Codeausführung
Dateizugriff
java.io.File (Konstruktor)
java.io.File.delete
java.io.File.renameTo
java.io.File.listFiles
java.io.File.list
\= Löschen/Umbenennen von Dateien, Verzeichnisliste
File-Stream/Reader-Klassen
java.io.FileInputStream
java.io.FileOutputStream
java.io.FileReader
java.io.FileWriter
java.io.RandomAccessFile
\= Datei Lese-/Schreibzugriff
Java Systemeigenschaften
System.setProperty
System.getProperties
System.getProperty
\= Einige Systemeigenschaften können möglicherweise Informationen enthalten, die fast sensibel sind, und einige Systemeigenschaften können die Ausführung von kritischen Elementen verändern, ich habe jedoch keine Beispiele
Laden von nativen Bibliotheken
System.load
System.loadLibrary
\= Beliebige Codeausführung
Ausführen von Betriebssystem-Executable
Runtime.exec
ProcessBuilder (Konstruktor)
Generieren von nativen Systemeingabeereignissen
java.awt.Robot.keyPress/keyRelease
java.awt.Robot.mouseMove/mousePress/mouseRelease
(Vielleicht weit hergeholt, da ein Server möglicherweise nicht einmal eine grafische Umgebung hat)
Java-Reflexion - Zugriff auf beliebige (auch private) Felder und Methoden
java.lang.Class.getDeclaredMethod
java.lang.Class.getDeclaredField
java.lang.reflection.Method.invoke
java.lang.reflection.Field.set
java.lang.reflection.Field.get
\= Vom Offenlegen sensibler Informationen bis zur eventualen Codeausführung, abhängig von den Umständen
Java-Skript-Engine
javax.script.ScriptEngine.eval
\= beliebige Codeausführung