1

If you connect to a website using https with a some information in the URL, can an exit node see the URL being connected to?

2

The Tor-Network works trough Onion Routing which encrypts your Message with your Target Address, so no one can read the original message on the way to the Exit Relay.

But since the Exit Relay is the last node before sending it to the target, it needs to know the target address with the original message. The Exit-Relay works as a "Man-in-the-Middle" forwarding the message to your target, but the clue is that the Exit-Relay doesn't know the Client which sent the orignial message and is just able to send the answere of the Web-Server back to the last Relay it got the message from, encrypted with a temporarily Session Key established with the Client trough the Tor-Circuit.

  • But I'm reading on this answer that when https is used only the host can be seen and not the full URL stackoverflow.com/a/38727920/773263 would this apply to tor exit nodes too? – Philip Kirkbride Jan 16 at 20:50
  • Data at the exit relay can still be end-to-end encrypted – David Jan 17 at 1:17
  • @PhilipKirkbride Yes, it applies to exit nodes as well – Steve Jan 17 at 13:14
  • @steve this would mean exit node cannot see the full url when https is used, rather they can only see the hostname. – Philip Kirkbride Jan 17 at 17:23
  • 1
    @PhilipKirkbride Right, using Tor does not break TLS. An exit node acts as a regular man-in-the-middle (passive or active), so the standard TLS properties apply. – Steve Jan 17 at 19:04
0

Upon doing more research I found that Tor exit nodes actually can't see the full URL being requested.

They can see the domain but the actual full path of the URL is encrypted.

This Stackoverflow answer does a great job of explaining it.

In short: FQDN (the domain part of the URL) MAY be transmitted in clear inside the ClientHello packet if SNI extension is used

The rest of the URL (/path/?some=parameters&go=here) has no business being inside ClientHello since the request URL is a HTTP thing (OSI Layer 7), therefore it will never show up in a TLS handshake (Layer 4 or 5). That will come later on in a GET /path/?some=parameters&go=here HTTP/1.1 HTTP request, AFTER the secure TLS channel is established.

EXECUTIVE SUMMARY Domain name MAY be transmitted in clear (if SNI extension is used in the TLS handshake) but URL (path and parameters) is always encrypted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.