Aquí hay una lista basada en mi investigación personal en la seguridad de Java del lado del cliente en general, y utilizando el IDE de Eclipse para ver qué métodos verifica SecurityManager.
cargadores de clases definen clases (= ejecución de código arbitrario java):
java.lang.ClassLoader.defineClass
java.net.URLClassLoader
= código de ejecución
Java Beans introspección pueden desviar cargadores de clases en clases de carga de una fuente no confiable (example vuln - cve-2010-1622)
java.beans.Instrospector.getBeanInfo
= la ejecución de código
acceso a archivos
java.io.File (constructor)
java.io.File.delete
java.io.File.renameTo
java.io.File.listFiles
java.io.File.list
= borrar/renombrar archivos, directorios lista de clases
secuencia de archivo/lector
java.io.FileInputStream
java.io.FileOutputStream
java.io.FileReader
java.io.FileWriter
java.io.RandomAccessFile
= Archivo acceso de lectura/escritura
Propiedades
Java System
System.setProperty
System.getProperties
System.getProperty
= Algunas propiedades del sistema podrían contener alguna información que es casi sensible, y algunas propiedades del sistema podrían alterar la ejecución de material crítico, no tengo ejemplos, aunque
Carga de bibliotecas nativas
System.load
System.loadLibrary
= ejecución de código arbitrario
Ejecutora ejecutables del sistema operativo
Runtime.exec
ProcessBuilder (constructor)
Generación de eventos de entrada del sistema nativo
java.awt.Robot.keyPress/keyRelease
java.awt.Robot.mouseMove/mousePress/mouseRelease
(Tal vez descabellada ya que un servidor no podría incluso tener un entorno gráfico)
Reflejo de Java: acceso arbitrario (incluso) campos y métodos
java.lang.Class.getDeclaredMethod
java.lang.Class.getDeclaredField
java.lang.reflection.Method.invoke
java.lang.reflection.Field.set
java.lang.reflection.Field.get
privadas = A partir de la divulgación de información sensible a la ejecución de código final, dependiendo de las circunstancias
motor de scripts de Java
javax.script.ScriptEngine.eval
= ejecución de código arbitrario
* todas * funciones de fregadero?Esta lista es infinita, ya que uno puede definir arbitrariamente muchas de esas funciones. – meriton
@meriton ¿viste la lista que construí para PHP? – rook
Creo que se está refiriendo al código de la biblioteca java no a las bibliotecas del sótano – Woot4Moo