OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Louis Solomon [SteelBytes] (louisSTEELBYTES.COM)
Date: Sun Apr 07 2002 - 05:00:20 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    I would call this a bug in IIS.

    setup:
    1. disable socket pooling:
                cd c:\inetpub\adminscripts
                cscript adsutil.vbs set w3svc/disablesocketpooling true
    2. setup a simple website using IIS5.0 (not yet tested with 5.1 or 4.0),
    bound to 127.0.0.1:79, with a folder in it called test
    3. use a port redirector to redirect the server_ip:80 to 127.0.0.1:79 (I
    use PortTunnel from www.steelbytes.com)
    4. use IE6 (not tested with anything else, but should happen with any
    client) on a client PC to connect to http://server_ip:80/test

    now, what happens, is the client sends the following
        GET http://server_ip/flamuko HTTP/1.1
        Host: server_ip
        ...

    and IIS responds with
        HTTP/1.0 302 Moved Temporarily
        Location: http://server_ip:79/test/
        ...
    it has done this, because although there is no file called test, there is a
    folder called test (if there was also no folder by that name, then it
    returns a 404)

    so the client then trys http://server_ip:79/test/
    which is invalid. and even worse, it doesn't straight away fail, instead it
    times out, which can take quite a while.

    IIS should have responded with
        HTTP/1.0 302 Moved Temporarily
        Location: http://server_ip/test/
        ...

    if IIS had only changed the file/folder part of the url, and not the
    host/port part of the url, then it would have given the correct result.

    Louis Solomon
    www.SteelBytes.com