[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Yahoo Mail and Tor



* on the Fri, Jul 10, 2009 at 01:44:22AM -0500, Scott Bennett wrote:

>> A long time ago I think there was a problem with the .exit... in the URL
>> being passed along to the website in the GET (or other) requests, which
>> sometimes caused problems.  Somebody correct me if I am wrong, but I
>> believe now something in the tor chain of software (client, relays,
>> exit) filters that out.
>      I should think that such a bug would have had to have been inside tor,
> not privoxy, if it indeed existed.  Consider the process of privoxy making
> a connection via a tor circuit to a destination IP address and then requesting
> a page.  An unproxied browser will first resolve a name to an IP address and
> then connect to that IP address.  When proxied through privoxy, privoxy passes
> the entire hostname.domainname.Nickname.exit to tor instead of an IP address
> when requesting an exit connection to the destination system.  The exit node
> itself then does the name-to-address resolution and establishes the connection
> to the resulting IP address.  Next, privoxy sends an HTTP GET request, which
> contains no hostname, domainname, Nickname.exit, nor IP address through the
> connection to the web server at the other end.  The web server reads (or has
> cached) the page contents from the filesystem path given in the GET relative
> to the base of the server's directory tree (i.e., everything *starting* with
> the third slash in the URL and continuing to the end of the URL) and then sends
> the file contents back through the connection toward the requesting system.
> Of course, some parts of that "path" may actually be other kinds of arguments
> that will be processed by the web server, that fact has no bearing on the
> process described here.

That doesn't sound completely accurate to me. Specifically the sentence "Next,
privoxy sends an HTTP GET request, which contains no hostname, domainname,
Nickname.exit, nor IP address through the connection to the web server at the
other end."

If I'm proxying through Tor and I type this into my browser:

www.google.com.example.exit

My browser asks the proxy for a connection to "www.google.com.example.exit"

Once my browser receives the connection, it then sends this down it:

GET / HTTP/1.1\r\n
Host: www.google.com.example.exit\r\n
\r\n

The problem is that some web servers have multiple websites on the same IP
and they decide which website to serve by looking at the HTTP Host header.
So you need privoxy/polipo to strip the "example.exit" from the HTTP Host
header before forwarding on the actual HTTP request, so it sends this
instead:

GET / HTTP/1.1\r\n
Host: www.google.com\r\n
\r\n

-- 
Erilenz