Foros del Web » Programando para Internet » PHP »

Bloqueando ataques

Estas en el tema de Bloqueando ataques en el foro de PHP en Foros del Web. Hola amigos, hace unos días que mi web está recibiendo ataques web. Por ello decidí crear un chivato almacenando en la base de datos todas ...
  #1 (permalink)  
Antiguo 01/08/2010, 08:20
 
Fecha de Ingreso: julio-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Bloqueando ataques

Hola amigos,

hace unos días que mi web está recibiendo ataques web. Por ello decidí crear un chivato almacenando en la base de datos todas las instrucciones sql que se ejecutan junto con su ip.

Todavía no tengo muy claro cómo consiguen acceder a la parte de administración, porque en ningún momento el chivato registra las instrucciones de login para el acceso a esa parte. Por tanto creo, que el bot consiguió entrar cuando la aplicación tenía unos fallos en el login y realiza consultas cada x tiempo y por tanto su sesión nunca termina. ¿Sabéis cómo podría evitar esto?

Por otro lado, al obtener la ip con el chivato, cuando detecto que han realizado una consulta perjudicial, añado esa ip al archivo .htacceess pare debegar su acceso. Sin embargo, es muy curioso que los ataques siguen viniendo de distintas direcciones ip, aunque las consultas son siempre las mismas. ¿Alguna idea?

Un saludo y gracias por todo.
  #2 (permalink)  
Antiguo 01/08/2010, 08:55
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Bloqueando ataques

No explicas la forma en que se están ejecutando dichas sentencias SQL, pero si fueran desde PHP podrías autenticar dichas consultas, si lo que están "atacando" es la parte administrativa de tu sitio quiere decir que hay un numero limitado de usuarios que tienen acceso a dicha sección, lo que haría yo es verificar que usuario (OJO, el usuario, no la IP) esta ejecutando dichas SQL, y únicamente dar acceso a tus usuarios con dichos permisos bloqueando cualquier otro....

Ahora también es indispensable saber como tienes tu código que ejecuta dichas sentencias SQL, si son seguras o tienen brechas de seguridad, ya que es posible que el ataque sea mediante SQL Injection... sin mas datos es estar adivinando

Nota: Tampoco comentas como has implementado el sistema de autenticación, tal vez tiene algún tipo de vulnerabilidad
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 01/08/2010, 13:26
 
Fecha de Ingreso: julio-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Bloqueando ataques

Hola Nemutagk, te comento...

No se trata de ningún ataque de inyección, puesto que los ataques de inyección suelen aprovechar una mal recuperación de las variables en GET y POST. Cosa que yo cubro utilizando el mysql_real_escape_string. Además, si fuera un ataque de inyección, en la tabla de chivato que he creado habrían consultas del tipo:

"SELECT * FROM usuarios WHERE usuario = 'loquesea' and pass = '";UPDATE ...";

Y las consultas que estoy recopilando en el chivato rellenan todos los datos del formulario, eso sí, con publicidad y letras raras. Además, es curioso que algunas palabras que llevan acento, como podría ser España, pasar a ser algo como España.

¿A alguien se le ocurre algo?
  #4 (permalink)  
Antiguo 01/08/2010, 13:44
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Bloqueando ataques

Pues no dejas mucho, sin mas es posible que en un ataque obtuvieran acceso a tu servidor y a tu DB, si estas seguro de que tus sentencias SQL son seguras no hay mas, verifica si no existen archivos sospechosos o de mas en tu servidor, también seria bueno cambiar contraseña de la DB/FTP ya que si tu aplicación es segura están accediendo a tu DB de manera directa
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: inyección, seguridad, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.