Re: [hybi] Handshake was: The WebSocket protocol issues.

Scott Ferguson <ferg@caucho.com> Fri, 08 October 2010 22:04 UTC

Return-Path: <ferg@caucho.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B78D83A68C3 for <hybi@core3.amsl.com>; Fri, 8 Oct 2010 15:04:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.504
X-Spam-Level:
X-Spam-Status: No, score=-2.504 tagged_above=-999 required=5 tests=[AWL=0.095, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SMTu9y-ycNFh for <hybi@core3.amsl.com>; Fri, 8 Oct 2010 15:04:01 -0700 (PDT)
Received: from smtp115.biz.mail.mud.yahoo.com (smtp115.biz.mail.mud.yahoo.com [209.191.68.75]) by core3.amsl.com (Postfix) with SMTP id D09673A693C for <hybi@ietf.org>; Fri, 8 Oct 2010 15:04:01 -0700 (PDT)
Received: (qmail 47634 invoked from network); 8 Oct 2010 22:04:58 -0000
Received: from [192.168.1.11] (ferg@66.92.8.203 with plain) by smtp115.biz.mail.mud.yahoo.com with SMTP; 08 Oct 2010 15:04:58 -0700 PDT
X-Yahoo-SMTP: L1_TBRiswBB5.MuzAo8Yf89wczFo0A2C
X-YMail-OSG: BHBCPe8VM1lcgTjhnnPdu.s8Rdo9CqkuXqnhHg3WnkfQvfd Cnc3rVk3joyqPbR09ASdhGou57Sb.vqWwz9DYtZXui4SdYmDq5XYqtkap4DT aoHab1w3CJQ12CUjxyPjK.4eoidXXwkXu_22i02nzqkVpAubhuiF5ljshFZv 9xZpC9TOOy13DjTgm7cqCG5lyXdzmeT4knrg0zis9IkIeZq02.Rp3ZFzDekZ vxk_TTdRmhX7NwdKBcBzR64F2dQ40cP26x7aLyG_7ivrDo5qZOXDBdg.W.M_ pBFkT84yXEL9ZhUMXLr_mYg--
X-Yahoo-Newman-Property: ymail-3
Message-ID: <4CAF9589.1060007@caucho.com>
Date: Fri, 08 Oct 2010 15:04:57 -0700
From: Scott Ferguson <ferg@caucho.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100411)
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <AANLkTikszM0pVE-0dpZ2kv=i=y5yzS2ekeyZxtz9N=fQ@mail.gmail.com> <9746E847-DC8B-45A7-ADF3-2ADB9DA7F82E@apple.com> <AANLkTik9igUwoxVrktoBoZrPoUW=Tjh7HyVbGJgQYes-@mail.gmail.com> <9F595226-FA0A-4C38-A6D0-0F4214BD7D21@apple.com> <4CA4BE10.1010709@caucho.com> <AANLkTi=wKFnNOuM+U3fktAFRn3R5OZ7c6PR2W3EAy7tm@mail.gmail.com> <4CA53E6B.1040808@caucho.com> <AANLkTikOyvF5AHTf4sDD=rWmK2FTD6R6LaHa4KTqkbcm@mail.gmail.com> <4CA68098.8010404@caucho.com> <AANLkTinYhW9MnnM3tkbCWziePyM7mFUEteKhw5OGp-eS@mail.gmail.com> <AANLkTi=_ejOCNiM49VW5q05=H7-M0jzAvXvGaKM1b7mX@mail.gmail.com> <AANLkTimyJj+Jxz1Q6fLrQ8iosGkD+0shUh3=td+jX_Do@mail.gmail.com> <4CA772A1.2090808@caucho.com> <AANLkTi=nLixtxMEd4B58Zp5FRbquNX2C_=7gCf9BGGQs@mail.gmail.com> <4CABCBFA.6020100@caucho.com> <AANLkTi=5wbCXWpOtUQT1MndgCxt9gj6uR_3U=nONpjKc@mail.gmail.com> <4CABD11F.3060500@caucho.com> <AANLkTiksehiSp7DB17MBVBb457p6pN5E8vma6FHz1c9j@mail.gmail.com> <4CACA667.3040309@caucho.com>
In-Reply-To: <4CACA667.3040309@caucho.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] Handshake was: The WebSocket protocol issues.
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Fri, 08 Oct 2010 22:04:02 -0000

Scott Ferguson wrote:
> Adam Barth wrote:
>> Consider, for example, a virtual hosting environment in which the
>> attacker can place PHP scripts on the server....  Now, the attacker 
>> can complete the WebSocket handshake
>> because the PHP script can compute the HMAC and send the appropriate
>> response header.
>
> Proposed attack: Attack server S with the help of DNS (or hosted HTTP 
> server.)
>
> You need to demonstrate a sequence of connections to make that attack 
> work (without using a WebServer proxy or time travel). For discussion, 
> I've granted you syntax, but you must still demonstrate your sequence 
> of connections and propagation of the c-nonce and H to complete the 
> attack.


You still need to demonstrate a sequence of connections to make this 
attack work because your attack appears impossible to complete using TCP 
as currently described.

At very minimum, you need to describe how the WebSocket connection from 
the hijacked browser connects to both the HTTP (or DNS) server that 
computes the hash, and to the target server S to complete the attack.

-- Scott