Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/07/2006, 07:34
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
AHora, he aqui el detalle, quisiera saber de que maneras una persona no deseada pueda entrar a un administrador de un sitio web (hecho php) y comenzar a insertar codigos malisiosos. Tengo una web de noticias y hoy en la mañana una persona desconocida insertó un codigo que hacia una redirección a otro sitio web (que para acabarla de molar es enemigo nuestro) y pues, mi pregunta es la siguiente ya concretamente: Existe una forma de poder violar una seguridad y poder realizar esto?,
En ese caso parece que tu nunca validastes los datos que tomas en tus "input" de formularios o variables que puedan ingresar en forma externa a tus scripts.

Se trata de usar funciones como:

htmlentities()
Para "desactivar" (convertir en entidades) todo código HTML que pudieran ingresar y que a la hora de prensentarlo al "navegador" tal cual se ejecutará.

mysql_real_escape_string() o addslashes()
Para "escapar" caracterer potencialmente peligrosos, sobre todo para "inyectar" SQL malicioso.

En general .. se trata de que NO confies en nada que pueda entrar a tus scripts en forma externa. Todo se ha de validar .. Piensa que si tu aceptas tal tipo de dato (o lo esperas) el resto por muy "inocentes" que puedan ser no debes aceptarlos .. si aceptas tal rango (de caracteres o numeros) .. validalo ..

Controla los mensajes de error que tu aplicación dará si se introducen datos adulterados .. Esos "mensajes" de error que en "desarrollo" de tus aplicaciones te vienen muy bien para detectar problemas, son nefastos cuando se lleva la aplicación en "producción" pues desvelan "rutas" y "nombres" de archivos significativos.

Exiten otro tipo de "ataques" .. sobre todo de "vecinos" tuyos si tu servidor corre en un servicio de hosting "compartido". Ahí .. una mala configuración de permisos de acceso a archivos (chmod) y de PHP (no "safe mode") y/o con cuentas de usuario con acceso "shell" y no "enjaulado" (donde se permite libremente a un usuario autentificado "rondar" y pasearse por todo el sistema de archivos del servidor) .. pueden hacer "facil" un "hackeo" (editarte archivos tuyos . .obtener contraseñas de acceso a BBDD por ejemplo .. etc.).

Te recomiendo la lectura de este documento sobre seguridad aplicado para PHP:
http://phpsec.org/projects/guide/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.