martes 1 de diciembre de 2009

Insecure Permissions

Hoy les voy a enseñar de esta técnica...

Bueno, esta técnica consiste en que gracias a un cojunto de errores podemos acceder a directorios de la administración sin previo chequeo de identidad... digamos la siguiente situación...


el htaccess de la web que tenemos que entrar dice:

# no hackers admited jajaja


Ahora eso está en /protected-files/

Ahora comenzamos con los errores del programador ¬¬


vamos a darle una apariencia al panel digamos que tendrá estas opciones:


- Agregar usuario
- Ver usuarios
- Eliminar Usuario
- Perfil Administrador


Ahora vamos a ves la segunda opción que por ahora es la que nos va a interesar...

Ver usuarios (nos dejará ver los usuarios de una DB) y pues el nombre del archivo al que nos lleva es see_users.php y el codigo es el siguiente:





<?php

readfile('/2009/12/protected_files/users.txt');

?>


como vemos el codigo llama a un archivo de un directorio con htaccess :( estamos perdidos... no! si hay esperanza como ven el archivo no pide verificación de cookie ni user ni nada entonces que creen que pasaría si nosotros fuesemos a:


www.web.com/admin/

lógico nos pide autentificacion pero como sabemos que existe see_users.php vamos a ver que pasa si agregamos...


www.web.com/admin/see_users.php

¡Mi dios! hemos conseguido ver los usuarios que se encuentran en users.txt

Ahora asi como hemos conseguido ver los users los datos del administrador sale userinf.txt en user y pass... que es esto? mm bueno entonces nosotros como somos mas pilas que el programador veremos si se trata de algo que nos ocultan...


Vamos a www.web.com/admin/userinf.txt


lamentablemente dice que no existe un 404... ahora mm veremos quizas está en el directorio prohibido y si está ahí significa que puede haber un PHP que nos lleve ;)

buscando y pensando llegamos a la 4ta opcion del menú que nos lleva a panel_info.php que tiene el code:




<?php

readfile('/2009/12/protected_files/userinf.txt');

?>


entonces ya tenemos el user y pass de la administracion y ya podremos entrar con todos los privilegios y dumpearnos la DB si hay la opcion y si se pueden subir imagenes subir una shell en php...

Les recomiendo no siempre fijarse en directorios como /Admin/ para este bug por que hay veces que la info la guardan en archivos .inc que inclusive uno puede hayar en google:

Dork: mysql filetype:inc

con eso hayariamos buena info...


Bueno y como fixean esto?

pues muy fácil necesitamos saber antes de dar acceso si está logueado... como lo sabemos?

mm debemos usar una bandera que si esta logueado sea true y sino sea false pero como hacemos eso?

pues miren el tuto de Argumente Injection y fijense no poner un codigo tan simple como ese sino agregar verificacion de cookie como se muestra en esa entrada o algo por el estilo depende de la imaginacion del programador...


Espero les sirva esta información...


Saludos
Dr.White

8 comentarios:

Anónimo dijo...

Hola Al referirte www.web.com/admin/
todas que tipo de web admiten ese estructura, intente con alguna y me da error
www.Nombre_de_la_web.com/admin/

ERROR

Dr.White dijo...

no todas tienen el panel de administracion en /admin/ debes de buscar otras opciones en el sidebasr está el admin path finder, lo puedes usar para encontrar paneles si lo hay...


Saludos

Anónimo dijo...

queria hacerte una pregunta como puedo frenar un ataque DDOS si es que se puede aguantar..

Anónimo dijo...

Muchas gracias por las respuesta, interesante la manera de acceder, voy a ver tu admin path finder + tu codigo, gracias otra vez

VicenteELeon dijo...

simplemente puedes usar el google para hacer eso, no es tan complicado

inurl:"userlist.txt" y listo xDD

saludos

Anónimo dijo...

en todo los post de dr.white el muy hijo de sus mama se rie q mierda se creee este disque hacker me llega lo creido q es etse

OWNED

Dr.White dijo...

último anónimo, mmm me reí solo por que el htaccess estaba vacio es que no se me ocurría en ese momento mm disque hacker? mm hermano para nada... yo no soy de los que que presumen nada :S y pues en todos no me rio...

@ViecenELeon...

ahí tambien le puedes agregar un site:web.com para tener un mejor resultado en el caso de que quieras acceder en una web...


@anonimo 2


lo de los DDos pues es muy dificil detener uno pero lo que puedes hacer es fijar los timeouts de cualquier Ip y por último controlar los accesos a tu VPS o servidor mediante Iptables pero en si un DDos es demaciado dificil proteger hasta a facebook y twitter le pasó, a los de elhacker...


Saludos

Anónimo dijo...
Un administrador del blog ha eliminado esta entrada.