¿Cuáles son las funciones con vulnerabilidades de seguridad en el desarrollo de Android?

Funciones potencialmente vulnerables

  1. java.lang.Class.forName(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  2. android.os.Bundle.putAll(): Esta función puede provocar un ataque de ejecución remota de código si el atacante puede controlar los valores de los parámetros dados.

  3. android.webkit.WebView.addJavascriptInterface(): Esta función puede provocar un ataque de secuencias de comandos entre sitios (XSS) si un atacante puede controlar el valor del parámetro dado.

  4. java.lang.reflect.Method.invoke(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  5. java.lang.Runtime.exec(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  6. android.database.sqlite.SQLiteDatabase.rawQuery(): Esta función puede provocar ataques de inyección SQL si el atacante puede controlar los valores de los parámetros dados.

  7. java.net.URLConnection.setDefaultAllowUserInteraction(): Esta función puede provocar un ataque de secuencias de comandos entre sitios (XSS) si un atacante puede controlar el valor del parámetro dado.

  8. java.net.Socket.setSoTimeout(): Esta función puede provocar un ataque de denegación de servicio (DoS) si un atacante puede controlar el valor del parámetro dado.

  9. java.util.Properties.load(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.

  10. java.util.zip.ZipInputStream.getNextEntry(): esta función puede provocar un ataque de denegación de servicio (DoS) si un atacante puede controlar el flujo de entrada determinado.

  11. java.lang.ClassLoader.defineClass(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  12. java.lang.Class.getDeclaredField(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  13. java.lang.reflect.Field.set(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  14. java.lang.Runtime.getRuntime(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  15. java.lang.Runtime.addShutdownHook(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  16. java.lang.ProcessBuilder.start(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  17. java.lang.Class.getDeclaredMethods(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  18. java.lang.reflect.Method.setAccessible(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  19. java.util.Random: Los números aleatorios generados no son lo suficientemente seguros y no deben usarse para cifrar contraseñas u otros escenarios relacionados con la seguridad.

  20. java.lang.Class.getDeclaredConstructors(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  21. java.lang.reflect.Constructor.newInstance(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  22. java.lang.reflect.Constructor.setAccessible(): Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.

  23. java.lang.Class.getResourceAsStream(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.

  24. java.lang.ClassLoader.getSystemResourceAsStream(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.

  25. java.lang.ClassLoader.getResources(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.

  26. java.lang.ClassLoader.loadClass(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  27. java.lang.ClassLoader.findLoadedClass(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  28. java.io.FileInputStream.read(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.

  29. java.io.FileOutputStream.write(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.

  30. java.io.ObjectInputStream.readObject(): Esta función puede provocar ataques de deserialización si el atacante puede controlar el flujo de entrada determinado.

  31. java.io.ObjectOutputStream.writeObject(): Esta función puede provocar ataques de serialización si el atacante puede controlar el flujo de salida determinado.

  32. java.io.File.createTempFile(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar el valor del parámetro dado.

  33. java.io.File.deleteOnExit(): Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar la ruta del archivo determinada.

  34. java.util.Properties.store(): Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.

Otros suplementos

número de serie API riesgo
1 java.util.Aleatorio Los números aleatorios generados no son lo suficientemente seguros y no deben usarse para cifrar contraseñas u otros escenarios relacionados con la seguridad.
2 android.database.sqlite.SQLiteDatabase.rawQuery() Esta función puede provocar un ataque de inyección SQL si el atacante puede controlar los valores de los parámetros dados.
3 java.io.File.createTempFile() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
4 java.lang.ClassLoader.defineClass() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
5 java.lang.ClassLoader.findLoadedClass() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
6 java.lang.ClassLoader.loadClass() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
7 java.lang.ProcessBuilder.start() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
8 java.lang.Runtime.addShutdownHook() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
9 java.lang.Runtime.exec() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
10 java.lang.Runtime.getRuntime() Esta función puede provocar un ataque local de elevación de privilegios si el atacante puede controlar los valores de los parámetros dados.
11 java.io.File.deleteOnExit() Esta función puede provocar un ataque de elevación de privilegios local si el atacante puede controlar la ruta del archivo determinada.
12 java.lang.Class.forName() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
13 java.lang.Class.getDeclaredConstructors() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
14 java.lang.Class.getDeclaredField() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
15 java.lang.Class.getDeclaredMethods() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
dieciséis java.lang.reflect.Constructor.newInstance() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
17 java.lang.reflect.Constructor.setAccessible() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
18 java.lang.reflect.Field.set() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
19 java.lang.reflect.Method.invoke() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
20 java.lang.reflect.Method.setAccessible() Esta función puede provocar ataques de reflexión si el atacante puede controlar los valores de los parámetros dados.
21 java.io.ObjectInputStream.readObject() Esta función puede provocar ataques de deserialización si el atacante puede controlar el flujo de entrada determinado.
22 java.net.Socket.setSoTimeout() Esta función puede provocar un ataque de denegación de servicio (DoS) si un atacante puede controlar el valor del parámetro dado.
23 java.util.zip.ZipInputStream.getNextEntry() Esta función puede provocar un ataque de denegación de servicio (DoS) si un atacante puede controlar el flujo de entrada determinado.
24 android.webkit.WebView.addJavascriptInterface() Esta función puede provocar un ataque de secuencias de comandos entre sitios (XSS) si un atacante puede controlar el valor del parámetro dado.
25 java.net.URLConnection.setDefaultAllowUserInteraction() Esta función puede provocar un ataque de secuencias de comandos entre sitios (XSS) si un atacante puede controlar el valor del parámetro dado.
26 java.lang.Class.getResourceAsStream() Esta función puede conducir a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.
27 java.lang.ClassLoader.getResources() Esta función puede conducir a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.
28 java.lang.ClassLoader.getSystemResourceAsStream() Esta función puede conducir a la divulgación de información si un atacante puede controlar los valores de los parámetros dados.
29 java.io.FileInputStream.read() Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.
30 java.io.FileOutputStream.write() Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.
31 java.util.Properties.load() Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.
32 java.util.Properties.store() Esta función puede dar lugar a la divulgación de información si un atacante puede controlar la ruta del archivo determinada.
33 java.io.ObjectOutputStream.writeObject() Esta función puede provocar ataques de serialización si el atacante puede controlar el flujo de salida determinado.
34 android.os.Bundle.putAll() Esta función puede provocar un ataque de ejecución remota de código si el atacante puede controlar los valores de los parámetros dados.

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/u010671061/article/details/132963058
Recomendado
Clasificación