Ver Mensaje Individual
  #50 (permalink)  
Antiguo 17/04/2013, 16:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: seguridad web

Cita:
Iniciado por webankenovi Ver Mensaje
CAPITULO 5

Verificacion de archivos

- Para asegurarnos que nuestros archivos no han sido modificados, vamos a realizar una comparacion de hashes para verificar que el archivo no ha sido alterado con codigo malicioso etc.....

existen varias formas pero yo me voy a centrar en 1 muy basica

1 - en el documento verificaremos que el hash proporcionado en el momento de la peticion es exactamente igual al hash que obtuvimos justo antes de la subida o al final la creacion de el lo que mas guste jejeje.

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. // para obtener el hash realizamos sha1_file('index.php');  y lo guardamos en el archivo
  5.  
  6. // ahora antes ejecutar ningun codigo verificaremos dicho hash
  7.  
  8. if(sha1_file(realpath(__FILE__)) == 'DJSFVD8VD9HSD8VHD8FHSV98FDHV8HV') // HASH OBTENIDO PREVIAMENTE
  9. {
  10.  
  11. // contenido
  12.  
  13. }else{
  14.  
  15. exit('archivo corrupto');
  16.  
  17. }
  18.  
  19. ?>


Eso es todo sobre el capitulo 5 , si sabes otras maneras o mejorar lo expuesto o solo deseas mostrar tu opinion por favor exponlo .


Saludos nos vemos nuevamente con el capitulo 6

capitulos

1 - proteger directorios : link http://www.forosdelweb.com/f18/segur...ml#post4410846
2 - mensajes de error : link http://www.forosdelweb.com/f18/segur...ml#post4412140
3 - archivo de configuracion : link http://www.forosdelweb.com/f18/segur...ml#post4412159
4 - permisos y roles : link http://www.forosdelweb.com/f18/segur...ml#post4412275

RE-EDIT CAPITULO 5

Me equivoque en el script ya que el hash obtenido previamente nunca sera igual al has resultante al añadir el hash en el script despues de obtenerlo modificara el hash resultante y nunca coincidiran, por lo tanto hay que hacerlo desde fuera del archivo.

arreglo
Código PHP:
Ver original
  1. <?php
  2.  
  3. // hashes.php contendra los hash de los archivos
  4. // ejemplo
  5. // $hash_login = 'FG67uRFVCrtki875tr';
  6. // para obtenerlo y tenerlo codificado base64_encode(sha1_file('login.php'))
  7.  
  8. include 'hashes.php ';
  9.  
  10. if(sha1_file('login.php') == base64_decode($hash_login))
  11. {
  12. include 'login.php';
  13. }else{
  14.  
  15. exit('archivo corrupto');
  16.  
  17. }
  18.  
  19. ?>

Última edición por webankenovi; 23/04/2013 a las 12:29