Foros del Web » Programando para Internet » PHP »

Ingresaron a la base de datos de Foros del web? Como?

Estas en el tema de Ingresaron a la base de datos de Foros del web? Como? en el foro de PHP en Foros del Web. Leyendo la Historia del foro me di cuenta de lo siguiente: Noviembre del año 2002 fue marcado por una tragedia para nuestro foro cuando un ...
  #1 (permalink)  
Antiguo 19/01/2011, 15:17
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Ingresaron a la base de datos de Foros del web? Como?

Leyendo la Historia del foro me di cuenta de lo siguiente:

Noviembre del año 2002 fue marcado por una tragedia para nuestro foro cuando un travieso (un travieso??? un hijo de s.. .) ingresó a la base de datos y reemplazó todos los mensajes eliminando mucha información.

$travieso = "hijo de mama";

Bien mis preguntas son:

Esto lo hizo alguien que ya se savia los datos de log in de la base?? o fue un "$travieso" que de alguna manera logro entrar, o logro eliminar los datos con algún código???

La razón por la que pregunto esto es para evitar el mismo percance en un futuro (no es que tenga una gran pagina web pero creo que no esta de mas saber) así que me gustaría saber como evitar este tipo de cosas.

Cuales son los puntos mas vulnerables o en que tenemos que ser mas precavidos cuando a seguridad se refiere para evitar este y otro tipo de cosas parecidas? Gracias...
  #2 (permalink)  
Antiguo 19/01/2011, 15:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Cuales son los puntos mas vulnerables o en que tenemos que ser mas precavidos cuando a seguridad se refiere para evitar este y otro tipo de cosas parecidas? Gracias...
Todo lo demas del tema, no iria en el foro de PHP.

Pero yendonos al punto de la cita en cuestion, TODO input proveniente del usuario debe ser validado y en todo caso filtrado. Es allí donde residen todos los inconvenientes para la seguridad de una pagina. Nunca confiar en el usuario.
Ya el como validas o "limpias" esos datos, depende las necesidades.
  #3 (permalink)  
Antiguo 19/01/2011, 15:27
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

pero entonces la única manera de que puedan alterar de alguna manera nuestra web es a través de los inputs?
  #4 (permalink)  
Antiguo 19/01/2011, 15:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Ojete Ver Mensaje
pero entonces la única manera de que puedan alterar de alguna manera nuestra web es a través de los inputs?
claro, un input (que significa entrada) no es únicamente a través de formularios, también puede ser a través de enlaces...

entonces la entrada -input- sería todo aquello que podemos obtener del usuario a través de la web misma, hay que recordar que el método GET no implica formularios solamente...

y que por el método POST también pueden ejecutar nuestros scripts, simulando un formulario con cURL por ejemplo, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/01/2011, 15:31
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

No necesariamente, pero toda la informacion que viene de un usuario debe ser validada.

Si confías en el usuario, y no validas nada, vendrá un gracioso y te hará pasar un muy mal rato inyectandote código SQL.

Tambien algunas directivas, como son register_globals, pueden comprometer la seguridad de tu sitio web.
  #6 (permalink)  
Antiguo 19/01/2011, 15:31
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

te recomiendo leas este link

ahí encontraras muchos de los comunes errores de programación y/o seguridad

saludos.
  #7 (permalink)  
Antiguo 19/01/2011, 15:31
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Incluso cookies.
  #8 (permalink)  
Antiguo 19/01/2011, 15:43
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por pateketrueke Ver Mensaje
por el método POST también pueden ejecutar nuestros scripts, simulando un formulario con cURL por ejemplo, etc...
interesante pero como es eso? y lo de las cookies?

bueno me boy mintras a leer el link que dejo hidek1, se ve bien, Gracias....
  #9 (permalink)  
Antiguo 19/01/2011, 15:46
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

A veces se usan las cookies, se ponen variables en ellas, el usuario busca cual es la cookie de tu pag, mira las variables que hay, y con los metodos correspondientes edita el contenido de las variables poniendo el código que tenga que poner para realizar la inyeccion, como si fuese por post o get, pero por cookie.

Un saludo
  #10 (permalink)  
Antiguo 19/01/2011, 15:50
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Ojete Ver Mensaje
interesante pero como es eso? y lo de las cookies?

bueno me boy mintras a leer el link que dejo hidek1, se ve bien, Gracias....
Lo de cURL ya un poco mas complicado (por decirlo asi), pero es posible. Por eso no basta solo validar un formulario en el cliente, con Javascript.
Ya que puedo hacer un script usando cURL que envie los datos que yo desee por POST y asi le paso por encima a la validacion en Javascript, haciendo que se guarde informacion que talvez no desees sea guardada (algo perjudicial)
  #11 (permalink)  
Antiguo 19/01/2011, 15:52
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

El javascript no sirve de nada frente a ataques así, ni siquiera hace falta crear tu formulario y usar curl, simplemente deshabilitando javascript todas las comprobaciones con javascript son inutiles.

Un saludo
  #12 (permalink)  
Antiguo 19/01/2011, 15:58
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Gracias, me queda claro lo de java, entonces si se quiere evitar ataques, inyecciones, la manera de hacerlo es con lenguaje php??
  #13 (permalink)  
Antiguo 19/01/2011, 16:01
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
El javascript no sirve de nada frente a ataques así, ni siquiera hace falta crear tu formulario y usar curl, simplemente deshabilitando javascript todas las comprobaciones con javascript son inutiles.

Un saludo
Si, me acorde ahora cuando abri el mensaje.
  #14 (permalink)  
Antiguo 19/01/2011, 16:05
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Exacto, Javascript es simplemente para darle comunidad y aspecto dinamico a una web, pero respecto a seguridad, no sirve nada.
  #15 (permalink)  
Antiguo 19/01/2011, 16:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
A veces se usan las cookies, se ponen variables en ellas, el usuario busca cual es la cookie de tu pag, mira las variables que hay, y con los metodos correspondientes edita el contenido de las variables poniendo el código que tenga que poner para realizar la inyeccion, como si fuese por post o get, pero por cookie.
Graciasentonces, como podemos evitar esto? de que manera y con que lenguage? php?
  #16 (permalink)  
Antiguo 19/01/2011, 16:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Si, PHP o cualquier lenguaje de servidor, osea que se ejecute alli. El usuario no podra ver el codigo original.
  #17 (permalink)  
Antiguo 19/01/2011, 16:07
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

En mi anterior mensaje dije "comunidad", iba a editar pero no me dio tiempo, queria decir comodidad.

Para evitarlo simplemente tienes que tratar las variables que cojas de las cookies como "sospechosas", al igual que las que recibes por GET y POST, por lo tanto hay que realizar las comprobaciones que sean necesarias para evitar ataques.
  #18 (permalink)  
Antiguo 19/01/2011, 16:10
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
tienes que tratar las variables que cojas de las cookies como "sospechosas", al igual que las que recibes por GET y POST, por lo tanto hay que realizar las comprobaciones que sean necesarias para evitar ataques.
perdon pero no entiendo, cuando dices tratarlas como sospechosas a que terefieres? podrias explicar esto un poco mejor? Gracias...
  #19 (permalink)  
Antiguo 19/01/2011, 16:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Debes filtrar los datos para que no puedan ejecutar codigo JavaScript o SQL.
Funciones como:
htmlentities()
addslashes()
etc....
  #20 (permalink)  
Antiguo 19/01/2011, 16:15
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Yo en mis aplicaciones, paso todas las variables externas por -> htmlentities(addslashes(stripslashes(striptags($va r))));
striptags para evitar ataques XSS, stripslashes y addslashes, puede parecer contradictorio porque una las quita y otra las añade, pero lo hago asi por si el string ya viene con slash, las quito, y las pongo, así se con seguridad que no tendre slash repetidos, y despues htmlentities para codificar los caracteres como < > en su código ascii, ya que si se pone como código ascii no pueden realizar función alguna en cuanto a código.

Esas comprobaciones para mi son básicas en cualquier variable externa, y después están las especificas, si pasas un ID por url asegurarte que solo recojas números, básicamente asegurarte que cada variable tiene lo que debe de tener, y no caracteres raros.

Un saludo
  #21 (permalink)  
Antiguo 19/01/2011, 16:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Ojete Ver Mensaje
perdon pero no entiendo, cuando dices tratarlas como sospechosas a que terefieres? podrias explicar esto un poco mejor? Gracias...
Suponer que TODOS los usuarios son malignos y que podrian hacerle daño a tu sitio web, aun cuando muy pocos, desean hacerlo en realidad.

Tengo un libro en cuanto al tema, llamado Pro PHP Security de Chris Snyder & Michael Southwell. Si tienes facilidad de conseguirlo, te recomiendo leerlo (en ingles claro)
  #22 (permalink)  
Antiguo 19/01/2011, 16:18
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
Yo en mis aplicaciones, paso todas las variables externas por -> htmlentities(addslashes(stripslashes(striptags($va r))));
striptags para evitar ataques XSS, stripslashes y addslashes, puede parecer contradictorio porque una las quita y otra las añade, pero lo hago asi por si el string ya viene con slash, las quito, y las pongo, así se con seguridad que no tendre slash repetidos, y despues htmlentities para codificar los caracteres como < > en su código ascii, ya que si se pone como código ascii no pueden realizar función alguna en cuanto a código.

Esas comprobaciones para mi son básicas en cualquier variable externa, y después están las especificas, si pasas un ID por url asegurarte que solo recojas números, básicamente asegurarte que cada variable tiene lo que debe de tener, y no caracteres raros.

Un saludo
Tampoco olvides el siempre importante mysql_real_escape_string() (que reemplaza a addslashes()) para insertar datos a tu BBDD MySQL.
  #23 (permalink)  
Antiguo 19/01/2011, 16:20
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cierto, pero yo estaba hablando de comprobaciones genéricas, que se deben hacer con cualquier dato, y mysql_real_escape_string() se debe usar si los datos van a ir a una base de datos mysql, y no siempre se da esa situación.

Un saludo
  #24 (permalink)  
Antiguo 19/01/2011, 16:30
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Bueno me han servido bastante sus comentarios gracias por la recomendación Ronruby, y gracias a los demás: Heli0s, mariomon17, Hidek1, pateketrueke...

  #25 (permalink)  
Antiguo 19/01/2011, 16:34
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Te dejo un link en el cual participe hace algún tiempo, donde se hablan de la mayoría de temas sobre seguridad en PHP.

Toma
  #26 (permalink)  
Antiguo 19/01/2011, 16:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
Cierto, pero yo estaba hablando de comprobaciones genéricas, que se deben hacer con cualquier dato, y mysql_real_escape_string() se debe usar si los datos van a ir a una base de datos mysql, y no siempre se da esa situación.

Un saludo
Pero aunque los datos vayan a una BD, se puede utilizar addsalashes(), no?
¿Que tiene de diferencia con mysql_real_escape_string()?
  #27 (permalink)  
Antiguo 19/01/2011, 16:42
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Cita:
Iniciado por Heli0s Ver Mensaje
Te dejo un link en el cual participe hace algún tiempo, donde se hablan de la mayoría de temas sobre seguridad en PHP.

Toma

Muchas gracias Heli0s...
  #28 (permalink)  
Antiguo 19/01/2011, 16:43
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ingresaron a la base de datos de Foros del web? Como?

Siempre se puede usar addslashes, y la diferencia es que mysql_real_escape_string tiene algunos algoritmos mas de seguridad para mysql aparte de añadir slashes al string.

Aqui tienes la documentacion de la funcion.

Etiquetas: foros
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 23:17.