Article directory
Potentially vulnerable functions
-
java.lang.Class.forName()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
android.os.Bundle.putAll()
: This function may lead to a remote code execution attack if the attacker is able to control the given parameter values. -
android.webkit.WebView.addJavascriptInterface()
: This function may lead to a cross-site scripting (XSS) attack if an attacker is able to control the given parameter value. -
java.lang.reflect.Method.invoke()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.Runtime.exec()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
android.database.sqlite.SQLiteDatabase.rawQuery()
: This function may lead to SQL injection attacks if the attacker is able to control the given parameter values. -
java.net.URLConnection.setDefaultAllowUserInteraction()
: This function may lead to a cross-site scripting (XSS) attack if an attacker is able to control the given parameter value. -
java.net.Socket.setSoTimeout()
: This function may lead to a denial of service (DoS) attack if an attacker is able to control the given parameter value. -
java.util.Properties.load()
: This function may lead to information disclosure if an attacker is able to control the given file path. -
java.util.zip.ZipInputStream.getNextEntry()
: This function may lead to a denial of service (DoS) attack if an attacker is able to control the given input stream. -
java.lang.ClassLoader.defineClass()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.lang.Class.getDeclaredField()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.reflect.Field.set()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.Runtime.getRuntime()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.lang.Runtime.addShutdownHook()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.lang.ProcessBuilder.start()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.lang.Class.getDeclaredMethods()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.reflect.Method.setAccessible()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.util.Random
: The generated random numbers are not secure enough and should not be used for password encryption or other security-related scenarios. -
java.lang.Class.getDeclaredConstructors()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.reflect.Constructor.newInstance()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.reflect.Constructor.setAccessible()
: This function may lead to reflection attacks if the attacker is able to control the given parameter values. -
java.lang.Class.getResourceAsStream()
: This function may lead to information disclosure if an attacker is able to control the given parameter values. -
java.lang.ClassLoader.getSystemResourceAsStream()
: This function may lead to information disclosure if an attacker is able to control the given parameter values. -
java.lang.ClassLoader.getResources()
: This function may lead to information disclosure if an attacker is able to control the given parameter values. -
java.lang.ClassLoader.loadClass()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.lang.ClassLoader.findLoadedClass()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.io.FileInputStream.read()
: This function may lead to information disclosure if an attacker is able to control the given file path. -
java.io.FileOutputStream.write()
: This function may lead to information disclosure if an attacker is able to control the given file path. -
java.io.ObjectInputStream.readObject()
: This function may lead to deserialization attacks if the attacker is able to control the given input stream. -
java.io.ObjectOutputStream.writeObject()
: This function may lead to serialization attacks if the attacker is able to control the given output stream. -
java.io.File.createTempFile()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter value. -
java.io.File.deleteOnExit()
: This function may lead to a local elevation of privilege attack if the attacker is able to control the given file path. -
java.util.Properties.store()
: This function may lead to information disclosure if an attacker is able to control the given file path.
Other supplements
serial number | API | risk |
---|---|---|
1 | java.util.Random | The generated random numbers are not secure enough and should not be used for password encryption or other security-related scenarios. |
2 | android.database.sqlite.SQLiteDatabase.rawQuery() | This function may lead to a SQL injection attack if the attacker is able to control the given parameter values. |
3 | java.io.File.createTempFile() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
4 | java.lang.ClassLoader.defineClass() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
5 | java.lang.ClassLoader.findLoadedClass() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
6 | java.lang.ClassLoader.loadClass() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
7 | java.lang.ProcessBuilder.start() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
8 | java.lang.Runtime.addShutdownHook() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
9 | java.lang.Runtime.exec() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
10 | java.lang.Runtime.getRuntime() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given parameter values. |
11 | java.io.File.deleteOnExit() | This function may lead to a local elevation of privilege attack if the attacker is able to control the given file path. |
12 | java.lang.Class.forName() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
13 | java.lang.Class.getDeclaredConstructors() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
14 | java.lang.Class.getDeclaredField() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
15 | java.lang.Class.getDeclaredMethods() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
16 | java.lang.reflect.Constructor.newInstance() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
17 | java.lang.reflect.Constructor.setAccessible() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
18 | java.lang.reflect.Field.set() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
19 | java.lang.reflect.Method.invoke() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
20 | java.lang.reflect.Method.setAccessible() | This function may lead to reflection attacks if the attacker is able to control the given parameter values. |
21 | java.io.ObjectInputStream.readObject() | This function may lead to deserialization attacks if the attacker is able to control the given input stream. |
22 | java.net.Socket.setSoTimeout() | This function may lead to a denial of service (DoS) attack if an attacker is able to control the given parameter value. |
23 | java.util.zip.ZipInputStream.getNextEntry() | This function may lead to a denial of service (DoS) attack if an attacker is able to control the given input stream. |
24 | android.webkit.WebView.addJavascriptInterface() | This function may lead to a cross-site scripting (XSS) attack if an attacker is able to control the given parameter value. |
25 | java.net.URLConnection.setDefaultAllowUserInteraction() | This function may lead to a cross-site scripting (XSS) attack if an attacker is able to control the given parameter value. |
26 | java.lang.Class.getResourceAsStream() | This function may lead to information disclosure if an attacker is able to control the given parameter values. |
27 | java.lang.ClassLoader.getResources() | This function may lead to information disclosure if an attacker is able to control the given parameter values. |
28 | java.lang.ClassLoader.getSystemResourceAsStream() | This function may lead to information disclosure if an attacker is able to control the given parameter values. |
29 | java.io.FileInputStream.read() | This function may lead to information disclosure if an attacker is able to control the given file path. |
30 | java.io.FileOutputStream.write() | This function may lead to information disclosure if an attacker is able to control the given file path. |
31 | java.util.Properties.load() | This function may lead to information disclosure if an attacker is able to control the given file path. |
32 | java.util.Properties.store() | This function may lead to information disclosure if an attacker is able to control the given file path. |
33 | java.io.ObjectOutputStream.writeObject() | This function may lead to serialization attacks if the attacker is able to control the given output stream. |
34 | android.os.Bundle.putAll() | This function may lead to a remote code execution attack if the attacker is able to control the given parameter values. |