Un usuario preguntó 👇
Después de que nuestro sitio se rompió, comencé a revisar nuestro código fuente en busca de posibles vulnerabilidades. Encontré una lista de aplicaciones php que se consideraron peligrosas porque crean vulnerabilidades.
Encontré una de esas funciones (escapeshellarg) en /sucuri-scanner/src/command.lib/php.
¿Puede explicar por qué no debería preocuparme y seguir usando su plugin?
(@yorman)
Hace 1 año, 11 meses
Hola @ jarrodwhitley0518
Gracias por su preocupación.
Descargo de responsabilidad: Escribí cada línea de código en ese archivo.
En primer lugar, «escapeshellarg» no es peligroso. Se utiliza para escapar del cable y utilizarlo como argumento de shell. Puedes leer más sobre esto aquí: http://php.net/manual/en/function.escapeshellarg.php .
Sin embargo, hay otra función en ese archivo que se considera peligrosa: ejecutivo. A continuación se muestran los detalles de cómo estoy usando esta función y la probabilidad de que la use para atacar su sitio web.
–
Todo el código de ese archivo se utiliza para impulsar una función en el plugin llamado «Utilidad de diferencia de integridad de WordPress» que está deshabilitada de forma predeterminada. El botón que te permite habilitarlo contiene una advertencia que explica las consecuencias de encender esta herramienta. El código se utiliza para habilitar la implementación del comando «diff» de Unix para permitir que un administrador inspeccione los archivos corruptos de WordPress encontrados durante un escaneo de malware.
El plugin comprueba si el comando «diff» existe para su ejecución:
command -v diff 1>/dev/null
Este comando no acepta ninguna entrada del usuario, por lo que es 100% seguro.
Luego, para cada archivo dañado, ejecuta el siguiente comando:
diff -u -- FOO BAR 2> /dev/null
Donde «FOO» y «BAR» se generan dos archivos como este:
$a = tempnam(sys_get_temp_dir(), SUCURISCAN . '-integrity-'); $b = tempnam(sys_get_temp_dir(), SUCURISCAN . '-integrity-');
Estas rutas de archivo no pueden ser interrumpidas por el usuario, por lo que es 100% seguro.
Vectores de ataque potencial
Aquí hay una guía paso a paso sobre cómo atacar este código en su sitio web:
El pirata informático lo engaña a usted (oa cualquier otro usuario administrador) para que habilite la «Utilidad de diferenciación de integridad de WordPress». El pirata informático agrega, modifica o elimina, utilizando una explotación diferente, uno de los archivos principales de WordPress. El pirata informático inserta código malicioso en Repositorio oficial de WordPress GitHub o Subversion El hacker lo engaña para que haga clic en el archivo dañado de la página «Integridad de WordPress» en el plugin Sucuri El plugin crea archivos temporales seguros, como se explicó anteriormente, usando la función PHP «tempnam» El plugin descarga el archivo malicioso del repositorio de GitHub o Subversion de WordPress en «FOO» El plugin copia el archivo – posiblemente infectado – (creado en el paso 2) a «BAR» El hacker reemplaza el binario «diff» por el binario «diff» , sin alertar al proveedor de alojamiento, el programa «diff» malicioso crea «FOO» y «BAR» y divide el texto con formato incorrecto El plugin imprime texto con formato incorrecto reproducido en la página Sucuri Dashboard El texto deformado, de alguna manera, pasa por alto todas las funciones de salida de WordPress WordPress ¡El usuario administrador que está alquilando la página es pwned!
Todo esto es necesario para el uso malintencionado del archivo «command.lib.php». Como puede ver, algunos de estos pasos son muy difíciles de completar, y en algunos puntos no tiene sentido continuar como, por ejemplo, si el hacker puede instalar el repositorio oficial de WordPress de GitHub / Subversion en peligro, ¿por qué se molestarían en molestarse con su sitio web? En su lugar, pueden hacer más daño si continúan el ataque contra Auto.
En caso de que sea poco probable que el pirata informático tenga un sarpullido en la cara, debe intentarlo repetidamente con usted, WordPress y su proveedor de alojamiento para usar maliciosamente el código que escribí dentro de ese archivo. .
Es casi imposible que ocurra este vector de ataque.
Agradezco que se haya tomado el tiempo de explorar el código del plugin de Sucuri.
Avíseme si tiene otras inquietudes.
(@ jarrodwhitley0518)
Hace 1 año, 11 meses
Gracias por tomarse el tiempo para escribir una respuesta tan completa. Esto aclara perfectamente el uso de esta función. Puedo ver que no hay nada de qué preocuparse. ¡Gracias de nuevo!
¿Solucionó tu problema??
0 / 0