domingo, 21 de julio de 2013

Eliminacion de archivos arbitrarios

¿Que es un archivo arbitrario?

Basicamente un archivo arbitrario es el cual permite la modificacion de otros archivos en el sistema de la aplicacion web.

En este caso hablaremos de un archivo que puede causarnos la eliminacion de otros archivos es decir podriamos eliminar toda la web solo con ese archivo, es algo peligroso dejar un archivo como ese sin que no sea un administrador el que lo esta manejando.

¿Google Hacking?

Claro que si, usaremos los famosos dorks que no son mas que operadores de google para nuestros fines,entonces puedes armarte dorks como los siguientes:

inurl: eliminar.php?archivo=
inurl: delete.php?file=
inurl: delete.php?filename=


O parecidos en el arte de google hacking la cuestion esta en inventar xD :D

¿Realizando el ataque?

Es simple tienes permiso para borrar un archivo.... xD :D


Bueno ahi tienen el superpantallazo (borre toda la mierda y deje lo interesante :D ), bueno tenemos la funcion unlink() que lo que hace es eso mismo del tutorial borrar un archivo :) ... Entonces tenemos un ruta, y ademas tenemos un FPD (Full Path Disclousure) y como sabemos LFI(Local File inclusion), combinamos esto y borramos el archivo.... De manera que quedaria asi por ejemplo:

file=../../../aquielnombredelarchivoaeliminar.loquesea

De manera que visitaremos nuestra web :D


Y como vemos va todo ok!

Entonces regresamos a nuestro archivo arbitrario que tiene permisos para eliminar :)
Y le indicamos que ya no queremos ese archivo que lo tire a la basura :P


Lo que veriamos seria que no tira ningun error unlink() es decir que el archivo se elimino correctamente :)

Entonces tratamos de ingresar a la pagina que anteriormente vimos todo ok :)


y tenemos un error 404 de que esa pagina no existe :P

Hasta aqui hemos realizado el ataque que seria eliminar el archivo que queramos de laaplicacion web.

¿Como prevenir este tipo de ataques?

Solo es tan facil como no dejar ese tipo de archivos para todo el publico, sino para solo el administrador por ejemplo, o simplemente no crearlos si no son necesarios.

Me despido espero que les haya resultado de utilidad este tutorial :)

No hay comentarios:

Publicar un comentario en la entrada