Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué runtime.exec puede causar inyección?

¿Qué runtime.exec puede causar inyección?

Runtime.exec puede provocar una inyección: el uso de runtime.exec en el código puede generar riesgos de seguridad: String str = "cmd.exe /C cd E:\\MinGW" Esto es correcto, cd It; No es un programa separado, sino un comando dentro de la consola cmd.

String str[]=new String[]{"cd E:\MinGW", "mingwvars.bat", "gcc H:\mymain\calc.c H:\mymain\main.c - o H:\miprincipal\principal"} .

Funciones de la serie exec de funciones:

La función de la serie exec de funciones es encontrar el archivo ejecutable según el nombre de archivo especificado y reemplazar el contenido del proceso de llamada con él. En otras palabras, los archivos ejecutables se ejecutan en el proceso de llamada. El archivo ejecutable aquí puede ser un archivo binario o cualquier archivo de script que pueda ejecutarse en Linux.

A diferencia de la situación normal, las funciones de la serie exec no regresarán después de una ejecución exitosa, porque las entidades del proceso de llamada (incluido el segmento de código, el segmento de datos y la pila) han sido reemplazadas por nuevas entidades. La información de la superficie, como la identificación, permanece intacta.

Esto es un poco como las "Treinta y seis estrategias" de "Cicada Slough". Parece un caparazón viejo, pero se le ha inyectado un alma nueva. Sólo si la llamada falla, devuelven -1 y comienzan la siguiente ejecución desde el punto de llamada del programa original.