¿Cómo los crackers suben los scripts php al directorio wp-content de Wordpress?

14

He visto un sitio que ha sido atacado al cargar scripts php (probablemente algún tipo de shell o código que carga un shell) en el directorio wp-content / uploads de Wordpress. Por lo general, este directorio se usa para contenido cargado por el usuario, como fotos, etc. Este servidor en particular se configuró para luego ejecutar los scripts maliciosos para cualquier usuario en Internet (con el conocimiento de la URL correcta).

¿Cómo funciona esto? ¿Cómo conseguiría el cracker wordpress colocar el archivo php en el directorio de subidas sin una cuenta de usuario? ¿Es este el tipo de problema infame e insignificante "sí, wordpress no es seguro"?

    
pregunta Thomas 05.04.2014 - 20:55
fuente

3 respuestas

13

No diría que la causa raíz del problema es Wordpress, sino el hecho de que:

  • Hay tantos temas / complementos para Wordpress disponibles de desarrolladores externos, y la gente generalmente no los audita antes de instalarlos. Dado que la barrera de entrada para PHP es muy baja, muchos de esos desarrolladores externos no tienen / tienen un conocimiento deficiente de la seguridad de TI

Creo que uno de los escenarios más posibles es cuando una configuración de Wordpress está configurada con un complemento / tema que permite cargas anónimas. Un ejemplo es la Tema de Clockstone upload.php Vulnerabilidad de carga arbitraria de archivos .

Básicamente, tú

  1. Debe asegurarse de que no se permiten las subidas no autorizadas / anónimas
  2. Mueva los archivos cargados fuera del directorio raíz web
  3. Verifique el contenido para asegurarse de que solo lo que espera se cargue y guarde

La página en Subir archivo sin restricciones en el sitio web de OWASP tiene algunas explicaciones muy buenas sobre el tema.

    
respondido por el Jean-François Rioux 05.04.2014 - 23:08
fuente
5

Estoy de acuerdo en que los complementos y los temas pueden ser problemáticos, pero quiero agregar tres sugerencias más relacionadas con el uso de complementos:

  1. Debería asegurarse de estar ejecutando la última versión de los complementos de WordPress Y .
  2. Ir a través de sus complementos y eliminar todo lo que realmente no necesita. Intente y reemplace los complementos con código siempre que sea posible.
  3. Sea más selectivo con la descarga de complementos (quién lo hizo, cuándo y con qué frecuencia se actualiza).

Los desarrolladores externos, aunque tal vez inicialmente no tengan problemas de seguridad, ofrecen actualizaciones para cubrir los problemas de seguridad, pero parte de la responsabilidad también es del usuario de WP. Ignoré las actualizaciones porque me hicieron más trabajo a corto plazo, pero a la larga me causaron muchos problemas.

Este es el consejo de un consultor que contratamos para ayudarnos a proteger nuestros sitios web después de que nuestros archivos .php fueron pirateados.

    
respondido por el Rae 07.04.2014 - 13:17
fuente
4

Crea un archivo en blanco en un editor de texto. Llámelo .htaccess y pegue el siguiente código allí:

<Files *.php>
    deny from all
</Files>

Ahora cargue este archivo en su / wp-content / uploads / folder.

Explicación del código: este código verifica cualquier archivo PHP y le niega el acceso.

    
respondido por el Paul S. 16.05.2015 - 17:39
fuente

Lea otras preguntas en las etiquetas