elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHPSESID
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PHPSESID  (Leído 2,138 veces)
Achernar


Desconectado Desconectado

Mensajes: 317



Ver Perfil
PHPSESID
« en: 6 Noviembre 2007, 14:19 pm »

Me parece que quizas ya estoy un poco pesado con las cabecera http, pero es que todavia nunca me habia metido con este protocolo.

Esta es la situacion:

1) abro una pagina en una ventana
2) guarda en mis cookies un valor de PHPSESID
3) si hago clics en sus links, las peticiones GET contienen el
    valor PHPSESID en el campo cookie de la cabecera.
4) si copio la url de un link y lo pego en la barra de direcciones
    en la misma ventana, tambien las peticiones GET van acompañadas
    de este valor PHPSESID en el campo cookie de la cabecera
5) si copio la url de un link y lo pego en la barra de direcciones
    en una nueva ventana la peticion no lleva el PHPSESID, y la respuesta
    del server me asigna uno diferente para esta nueva ventana.

para que sirve el PHPSESID?

Es posible que con esto el servidor se de cuenta de, por ejemplo, si una sesion esta siendo robada? o que estamos usando algun tipo de bot?

ademas... aùn para la misma pagina. Cada ventana tiene una cookie o este valor se guarda en algun archivo temporal de cada ventana?


« Última modificación: 6 Noviembre 2007, 14:22 pm por Achernar » En línea

Universal SAC

Desconectado Desconectado

Mensajes: 41


Universal SAC


Ver Perfil
Re: PHPSESID
« Respuesta #1 en: 8 Noviembre 2007, 05:29 am »

Citar
para que sirve el PHPSESID?

Es simple, el PHPSESSID es nada más y nada menos que la cadena o código de Identificación de la Sesión en PHP (PHP SESSion IDentification).
Cuando se usan Sesiones en php, estas funcionan almacenando información de forma temporal en el servidor, ya sea tu nombre de usuario, tu password... (tal vez cosas de la base de datos, y las guardan en un archivo temporal para evitar realizar varias consultas de la misma información, por tanto, menos tráfico ;)). Y cada usuario tiene una clave de Identificación, de manera que con esta, el servidor sabrá a que archivo temporal recurrir para pedir tu información.

Citar
Es posible que con esto el servidor se de cuenta de, por ejemplo, si una sesion esta siendo robada? o que estamos usando algun tipo de bot?

De hecho, creo que no...

Lo que tú mencionas sobre "copiar una url" y en la misma ventana tiene PHPSESID como variable GET y en otra ventana no lo tiene, está totalmente fuera de lugar. Si copias un enlace será igual EN TODOS LADOS!! Lo que puede ser diferente, es que las cookies se borren inmediatamente de cerrar el navegador...


En línea

~UNIVERSAL[HACK]
Achernar


Desconectado Desconectado

Mensajes: 317



Ver Perfil
Re: PHPSESID
« Respuesta #2 en: 8 Noviembre 2007, 16:02 pm »

Gracias Universal SAC por interesarte, paso a explicarme un poco mejor: viste que con el protocolo http, para pedir las paginas el browser (IExplorer, Firefox, etc..) envia peticiones GET que tienen mas o menos la siguiente forma:

GET /index.html HTTP/1.1
 Host: www.example.com
 User-Agent: HTTPTool/1.0
 Connection: close
 [Línea en blanco]

esa seria la peticion que haria el browser al servidor cuando uno pega la siguiente url en la barra de direcciones: www.example.com/index.html

por ejemplo si te conectas a www.elhacker.net, como en muchas otras paginas mas, cuando te logueas estas peticiones tiene un campo "Cookie: bla bla bla"
Pudiendo ser algo asi (totalmente imaginario)

GET /foro_de_php.php HTTP/1.1
 Host: www.elhacker.net
 User-Agent: HTTPTool/1.0
 Connection: close
Cookie: cookieUser=achernar, pass=1234567890, PHPSESID=AFS54AD8F9ASa65df94FA6D
 [Línea en blanco]

Esta peticion se haria cuando, ya logueados, hicieramos clic en un link que diga www.elhacker.net/foro_de_php.php

(Esto se ve con un sniffer)

ahora si en lugar de hacer clic yo copio esa url (www.elhacker.net/foro_de_php.php) y la pego en una nueva ventana... el server me va a responder asignandome un nuevo PHPSESID para esa ventana. O sea, voy a tener dos ventanas, pero cada una va a tener un PHPSESID diferente.

El PHPSESID no va enviado por la url, sino que es enviada por el server en sus repuestas que tienen mas o menos esta forma:

HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
SetCookie: PHPSESID = nuevo valor
Content-Length: 1221

<html>
<body>
<h1>Página principal de tuHost</h1>
(Contenido)
  .
  .
  .
</body>
</html>

Resumiendo:
me logueo en una pagina y en una de las siguientes respuestas del server me envia un valor de PHPSESID que voy a tener que usar en mis siguientes peticiones, todos los links que clickee en la pagina va a resultar en peticiones hechas por el browser al server con este valor de PHPSESID, pero si en lugar de hacer click en el link, pego su url en una nueva ventana, el server me asigna un nuevo valor de PHPSESID porque como el PHPSESID no viaja en la url (en este ejemplo) el server no deve verificar las ip, sino que solamente las PHPSESID, y paraciera que no tiene forma de saber que la nueva ventana esta en la misma maquina. Sin embargo si mantiene mi user logueado. Es un verdadero misterio para mi.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines