Foros del Web » Programación para mayores de 30 ;) » Java »

Cabeceras HTTP

Estas en el tema de Cabeceras HTTP en el foro de Java en Foros del Web. Hola, Estoy comprobando la seguridad de un sistema de votaciones y me gustaría saber qué aspectos de las cabeceras HTTP, que se intercambian entre el ...
  #1 (permalink)  
Antiguo 05/01/2009, 09:43
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 21 años, 6 meses
Puntos: 4
Cabeceras HTTP

Hola,

Estoy comprobando la seguridad de un sistema de votaciones y me gustaría saber qué aspectos de las cabeceras HTTP, que se intercambian entre el servidor que tiene el sistema de votaciones y el cliente que vota, son más importantes.

Pregunto esto porque he leído que a través de las cabeceras HTTP, si se modifican con un programa hecho (por ejemplo en JAVA) se podrían saltar restricciones de seguridad.

Por lo cual, yo, estoy intentando hacer un programa en JAVA para conseguir encontrar los posibles agujeros de seguridad de este sistema de votaciones.

Resumiendo, quiero saber como puedo, con JAVA, acceder a las cabeceras HTTP más importantes para modificarlas y engañar al sistema.

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 05/01/2009, 10:19
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Cabeceras HTTP

Hay una clase HTTPServlet en la que puedes acceder a esas cabeceras, tanto leerlas, como modificarlas como crearlas
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #3 (permalink)  
Antiguo 05/01/2009, 14:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

Normalmente los sistemas de seguridad se basan en cookies, que vienen en las cabeceras, y tambien pueden utilizar cosas como la IP del navegador, el referer, el HTTP agent, usar parametros ocultos... Hay mil cosas que se pueden utilizar y depende mucho de como este hecho el sistema de seguridad de la aplicación.

Si la idea de "seguridad" es prevenir que un usuario pueda votar mas de una vez, lo mas normal es que utilicen cookies, por que aunque la IP es más segura, como no todo el mundo tiene una IP estática, suelen dar más problemas.

PD: De todas formas, eso es para sistemas simples sin autenticacion, ya que no es tan complicado hacer un sistema bastante seguro, basta con no ser cazurro al implementarlo, por que, por ejemplo, simplemente con una cookie, la IP y HTTPS, puedes echar por tierra practicamente cualquier ataque que no sea muy muy profesional.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #4 (permalink)  
Antiguo 05/01/2009, 15:35
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Cabeceras HTTP

Gracias a los dos por la rápida respuesta. Me interesa el tema de la Cookie. ¿Con la clase HTTPServlet puedo comprobar si me están "controlando" (a mi como cliente) con una cookie enviada por el sistema de votaciones?.

Otra vez, gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #5 (permalink)  
Antiguo 06/01/2009, 05:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

Con la clase HttpServlet desarrollas la parte del servidor, así que no se a que se refiere TresPuntoDos en este caso.

Si envias una peticion al sistema, haciendo un cliente con HtmlUnit o HttUrlConnection por ejemplo, podrias controlar si te envian cookies.

De todas formas, con el navegador y una buena extension tipo la "Web Developer" ya se puede ver si te estan poniendo alguna cookie.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 06/01/2009, 06:36
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Cabeceras HTTP

Gracias GreeEyed. ¿Qué métodos me ofrece la clase HTTPUrlConnect para poder obtener las cookies que me manda el sistema.?

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #7 (permalink)  
Antiguo 06/01/2009, 12:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

Las cookies vienen en las cabeceras, asi que si miras todas las cabeceras que vienen con getHeaderFields() y getHeaderField(), puedes ver como se ponen las cookies (cabecera "Set-Cookie") etc.

Más información, por ejemplo en la Wikipedia: http://es.wikipedia.org/wiki/Cookie#Implementaci.C3.B3n
o para información más completa, puedes mirar la especificación (RFC 2965): http://rfc.sunsite.dk/rfc/rfc2965.html

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #8 (permalink)  
Antiguo 06/01/2009, 18:48
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Cabeceras HTTP

Me referia a que desde el servidor, en la clase HTTPServlet puedes obtener las cabeceras del request para comprobar que le llega
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #9 (permalink)  
Antiguo 07/01/2009, 01:22
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

Ah, pero es que él está hablando del cliente, por eso no entendía lo de usar HTTPServlet en este contexto.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 07/01/2009, 02:16
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Cabeceras HTTP

Ya pero para comprobarlas si le valdria, yo por lo menos uso siempre esa clase para acceder al nombre del host, etc...
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #11 (permalink)  
Antiguo 07/01/2009, 07:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

Ummm, no se si no nos entendemos pero el está hablando de que tiene que acceder a esa información desde un programa cliente, no desde un servlet. El servidor no lo ha programado él.
Tu estás hablando de comprobar en el servidor el valor de las cookies etc. pero es que el lo que quiere es ver/manipular desde un cliente las cookies que envia el servidor.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #12 (permalink)  
Antiguo 07/01/2009, 08:53
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Cabeceras HTTP

Ok, entonces lo entendi mal, jeje

Ha sido un fallo por los excesos de la Navidad
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #13 (permalink)  
Antiguo 07/01/2009, 09:16
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Cabeceras HTTP

Gracias a los dos por la ayuda.

Efectivamente, GreenEyed, lo entendió bien.

Entre hoy y mañana probaré vuestros consejos y ya os comento.

Gracias por la ayuda y un saludo.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #14 (permalink)  
Antiguo 08/01/2009, 11:29
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Cabeceras HTTP

¿Como puedo evitar que me envíen un Set-Cookie en la cabecera?

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #15 (permalink)  
Antiguo 08/01/2009, 12:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Respuesta: Cabeceras HTTP

No lo puedes evitar. Eso ocurre en el servidor. Lo que tu puedes hacer es escoger devolverle ese valor o no. Pero evitar que te lo mande, no puedes.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 19:32.