Re: [hybi] Websocket: two protocols into one, and Internet rules broken

Willy Tarreau <w@1wt.eu> Thu, 16 June 2011 20:51 UTC

Return-Path: <w@1wt.eu>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2DEF911E818C for <hybi@ietfa.amsl.com>; Thu, 16 Jun 2011 13:51:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.082
X-Spam-Level:
X-Spam-Status: No, score=-4.082 tagged_above=-999 required=5 tests=[AWL=-2.039, BAYES_00=-2.599, HELO_IS_SMALL6=0.556]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wxMTxgpOdxX0 for <hybi@ietfa.amsl.com>; Thu, 16 Jun 2011 13:51:55 -0700 (PDT)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by ietfa.amsl.com (Postfix) with ESMTP id D51E511E80E5 for <hybi@ietf.org>; Thu, 16 Jun 2011 13:51:53 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id p5GKplYS030387; Thu, 16 Jun 2011 22:51:47 +0200
Date: Thu, 16 Jun 2011 22:51:47 +0200
From: Willy Tarreau <w@1wt.eu>
To: "Ian Fette (????????????????????????)" <ifette@google.com>
Message-ID: <20110616205147.GA29656@1wt.eu>
References: <BANLkTim4pKwx6wYC3WwXFWET+gx0bnjigQ@mail.gmail.com> <4DFA08A5.3010608@weelya.com> <BANLkTi=JGeFmkYcwqQJ_xe=3CGrXwHxHPg@mail.gmail.com> <4DFA1173.9050509@weelya.com> <BANLkTi=LAiw+JvCOc3VPrXnmog7AkSWwCw@mail.gmail.com> <4DFA15E9.50800@weelya.com> <BANLkTikdUneox_4tpMm-EjXPQEEbN7sF4w@mail.gmail.com> <BANLkTik4y_fRd3pEuPdrwESb7ftdbuvk9w@mail.gmail.com> <BANLkTin2000Q8=LUuuUqkfkX_GRrYAnNDw@mail.gmail.com> <BANLkTi=w2SC5MFA21NrYhsV-ZyN5hzrSiQ@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <BANLkTi=w2SC5MFA21NrYhsV-ZyN5hzrSiQ@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Cc: hybi@ietf.org
Subject: Re: [hybi] Websocket: two protocols into one, and Internet rules broken
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Jun 2011 20:51:56 -0000

On Thu, Jun 16, 2011 at 01:39:35PM -0700, Ian Fette (????????????????????????) wrote:
> Historically, many servers are lazy. They will not bother validating
> whatever the client sends, and will just return some value and then get
> exploited. By forcing the server to prove something to the client, we
> essentially also force the server to validate at least part of the client's
> handshake (rather than just hardcoding in some 101 Upgrade WS response). So,
> by making the server prove something to the client, it's a way of forcing
> the server to actually take some steps that have a side effect of protecting
> it (e.g. this /forces/ the server to parse the Sec-WebSocket-Key header.)

And also to ensure that the response was not delivered by a lazy cache.

Willy