Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
36 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Archivos a prueba / efn-log 2.0

efn-log 2.0 (135)

Categoría: Scripts | Autor: efnworkz | Fecha: 02 abr 08 (13:16) | Descargas 8 descargas

Votación

0 Votos a favor - Votos en contra 1

Estado

Pendiente de valoración

Descarga

Archivo rar
rar

Descargar
(Tamaño: 1,57 KB)

Actualizaciones (0)

Archivo en Pruebas Muchas personas les ocurre que les hackean su website y les borran los logs luego no pueden ver donde estuvo la vulnerabilidad. Pues decidi crear este sistema de logs donde los logs se guardan en otro server, de esta manera no nos los podran borrar.


Votaciones y comentarios

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   


Alta del archivo: 02 abr 08 (13:16)
Votación
Avatar de rubencm
#1 rubencm
03 abr 08 (21:19)
Si el servidor esta medianamente bien configurado un usuario por RFI no debería tener acceso a los logs... (creo)
// Sistema de logs seguros, echo por alienmaster & shadow.ng <- hecho del verbo hacer es con "h"
La función rm() de tu cliente.php creo que no hace bien lo de borrar el protocolo, bueno no, que lo borra del ¿REQUEST_URI? y del ¿HTTP_USER_AGENT?, ¿me podrías explicar por qué?, otra cosa más, igual no lo deberías borrar del "referer"
if($_SESSION['adm']){$user="Administrador";} <- ¿Donde se ha iniciado una sesión?, y en el caso de que esté iniciada ¿como sabes que la variable del administrador será "adm"?
if($url=="") {$url="SuPC";} <- Uhm, no se yo esto, creo que muchos firewalls de windows lo bloquean, así que no tiene por que.
file($servl);<- Creo que esto lo abre y lo lee, con fopen podrías abrirlo y cerrarlo simplemente ("creo" que sería mejor)
En cuanto a las funciones time() por qué las nombras tantas veces en ambos archivos? Igual sólo deberías llamarlo en cliente.php por si están desincronizadas las horas de los servidores.
En servidor.php llamas a la variable ¿$file?. ¿Para qué? ¿Para ver si alguien la define por GET y decide meter texto suyo?
Teniendo en cuenta que en servidor.php no hay ningun sistema de login ni nada que compruebe que los parametros que recibe son verdaderos, se puede decir que es vulnerable, porque puedes meter lo que te de la gana :S

Bueno, no lo he probado, pero apuesto a que no funciona :P
Votación
Avatar de turl
#2 turl
04 abr 08 (01:55)
Pues como dice rubencm me parece algo vulnerable, cualquiera que se enterara donde guardas los logs podría guardar cualquier dato que se le ocurriera en tu servidor. No validas ni siquiera una password secreta por GET (if($_GET['secret123']!='mipasswsecreta') exit;). También cuando concatenas pones una variable files al principio, que nunca definiste. Está de mas, me parece.

Luego, en el cliente usas $_SESSION['adm']. Me imagino que eso proviene de algun CMS o algo, ¿no? Y en la función rm, podrías agregar un rawurlencode o un urlencode, para evitar problemas.

Y sobre que usas file, podrías usar fsockopen + fputs, porque no siempre se tiene file con fopen wrappers habilitados.

En cuanto a la idea está buena, pero hay que mejorar el script ;) Y ponte en el readme que se use un .htaccess con "deny from all" en la carpeta de logs o no querrás que estos sean visibles :p

Un Saludo!

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster