Autor Tema: Acerca de vulnerabilidades en scripts php (pregunta)  (Leído 3862 veces)

0 Usuarios y 1 Visitante están viendo este tema.

NeKronos

  • ... NeKronos
  • **
  • Mensajes: 173
  • Liked: 0
Acerca de vulnerabilidades en scripts php (pregunta)
« : julio 08, 2006, 01:51:12 am »
Hola cum

Estoy haciendo una aplicacion mas o menos grande en php/mysql/html, y quisiera saber que
tipos de vulnerabilidades tengo que tomar en cuenta al programar.


La aplicacion lleva muchos forms y estos van directos a las consultas MySQL...
Ya llevo casi todo, pero quiero reforzarla lo mejor posible.

He tomado en cuenta lo siguiente:
Inyecciones MySQL
Secuestro de sesiones y cookies
Errores de diseño en el codigo.
Protejer carpetas vacias con un index.php
Protejer includes contra acceso directo a ellos.
Fuerza Bruta
Edicion con .htacces
ocultar php a otra extension
no mostrar errores cuando este en linea

El sistema de proteccion contra inyecciones es mas o menos asi:
Todas las variables que entran al codigo por $_POST, $_GET, $_COOKIE, y que
utilizo en el programa las filtro asi:
$post['user'] = isset($_POST['user'])?$_POST['user']:'';
Me falta una funcion que escape caracteres especiales, pero implementada quedaria asi:
$post['user'] = isset($_POST['user'])?filtro($_POST['user']):'';
y al usarlas, compruebo asi:
if($post['user']!='' && ....) {..consulta mysql..} else {...error..}

Y en cuanto a vulnerabilidades en servidores (bugs, etc..) que debo tomar en cuenta?
Que me podrian recomendar los gurus de php y/o defacers?


De antemano gracias, NeKrons


« Última Modificación: julio 08, 2006, 01:56:51 am por NeKronos »
Existen 2 tipos de delincuentes informaticos:
Spammers y Lammers.

n0sferatu

  • Mensajes: 9
  • Liked: 0
    • |\elTaNetwoRkZ- MX
Re: Acerca de vulnerabilidades en scripts php (pregunta)
« Respuesta #1 : julio 13, 2006, 10:28:30 am »
Te aconsejo que le eches un ojo a esta página de Seguridad PHP

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: Acerca de vulnerabilidades en scripts php (pregunta)
« Respuesta #2 : julio 14, 2006, 10:32:44 pm »
Mira Te lo voy a plantear mas o menos asi...

Un INDEX.PHP desde donde se visualzie toda la pagina... imagenes, descarega de archivos, las otras paginas)

Osea, no hagas referencia a ningun directorio...., trata de hacer includes de utilizar header(.. para decirle a los exploradores que esa vez se trata de una imagen, de un zip, blabla...

En caso de que quieras utilizar varios archivos..... Debes tener un archivo que se encargue de la seguridad, este archivo lo debes de incluir en cada archivo php...

Su jerarquia es....

No mastrar errores, los errores escribirlos en un archivo...... CUando una pagina muestra errores php se peude ver el PATH original de la pagina.

Comprobar el PATH_INFO, esto es para saver si esta trtando de acceder archivos php que no se deben acceder, por ejemplo.. si en PATH_INFO se encuentra "includes/incs/", significan que estan tratando de acceder a tu archivo directamente.

Agarrar lo que viene siendo $_REQUEST, olvidate de $_POST, $_GET...... con $_REQUEST tienes a esas 2.... de ahy, a $_REQUEST lo sanitizas contra todo tipo de caracteres especiales, de todo...
..
/
\
0x
chr
/*
*/
;
-
<
>
script
java
passthru
system

Blabla, todo lo necesario

Pones una proteccion antiflood

Y de ahy tu imaginacion...

Yo estoy creando una clase que voy a subir a phpclasses.org

Se llamara honeyphpot.php

Es un sistema de seguridad anti mysql, anti xss, anti html njection, diferencea los tipos de atakes, banea, proteccion anti-flood, blabla.

NeKronos

  • ... NeKronos
  • **
  • Mensajes: 173
  • Liked: 0
Re: Acerca de vulnerabilidades en scripts php (pregunta)
« Respuesta #3 : julio 17, 2006, 03:18:07 am »
Hola rootboox, no me he podido conectar, pero gracias por tus respuestas
De lo que mencionas que el accecso a todos los archivos por medio de http://..../?arch=nombre.* nadamas lo tengo implementado en las secciones, pero es buena idea y lo voy a implementar a las imagenes, documentos y todo.
En cuanto a la proteccion de flooding, utilizo un captcha prediseñado, se llama gotcha, pero lo modifique para que en vez de id de sesion utilize MySQL.
Las variables Post y Get las utilizo nadamas al principio de un archivo que se llama config.php, y de ahi las almaceno filtradas con otro nombre.
Me falta implementarle una condicion para mostrar o no errores, x ej: if($show_err) error_reporting(...);
Las claves las almaceno con un algoritmo de encriptacion aleatorio md5, con lo que si alguien tiene acceso a la base de datos, no podra ni siquiera usar bruteforce, por que en lo que decifra la clave, ya cambio...

Las sesiones las administro con MySQL, no utilizo variables de sesion. por lo que un hosting compartido no va a ser bronca con el secuestro de sessiones.
Las sessiones las manejo con cookies, pero si no estan habilitadas se utiliza una variable de url
Son varias caracteristicas buenas, cuando lo termine lo publico, ya va tomando forma ;)

Saludos y de nuevo gracias Rootbox, y nosferatu
Existen 2 tipos de delincuentes informaticos:
Spammers y Lammers.

RootBox

  • **
  • Mensajes: 156
  • Liked: 0
Re: Acerca de vulnerabilidades en scripts php (pregunta)
« Respuesta #4 : julio 18, 2006, 09:59:50 pm »
Bien suena interesante, cualquier cambio nos avisas....

El hosting es compartido comprueba que los archivos no tengan permisos de escritura ya que si son modificados, el index los incluye y pues "HACKED"..... Otra cosa es comprobar que los archivos tengan su firma digital original (md5file) .... en caso de que no, fue porque se modificaron desde otra cuenta de tu host...