skip to content

In a relay phishing page that reverse-proxies the real login, what does the victim's browser load?

level: middleimportance: must knowfreq 62%

answer

  1. no clone exists to get wrong
  2. TLS terminates at the operator's host
  3. two separate connections, cleartext between
  4. the real service issues the session
  5. only the hostname ever differed

basics

~20 s

The genuine page, relayed. The operator's server terminates TLS on its own domain, fetches each response from the real login origin and forwards every field both ways, ending the exchange holding the session cookie the real service issued.

solid answer

~50 s

There is no copy to get wrong. The operator runs a reverse proxy on a domain they own, with a valid certificate for that domain, and every request the victim makes is forwarded to the genuine origin and every response is passed back. The victim sees the real markup, the real branding, the real error text and the real challenges, because all of it is the real site. Because TLS terminates at the proxy, the operator reads each field on the way in and reads the response on the way back, so when the genuine service completes authentication and issues its session cookie, the proxy records that cookie before handing it on. The victim gets logged in normally and notices nothing. The only artefact that ever differed is the hostname in the address bar. That is why 'the user should have spotted the fake page' is the wrong answer here: there is no fake page to spot.

code

text · 14 lines
text
victim browser --> login-portal-uni.example        (operator host, valid cert for THIS name)
    GET /auth/signin
        proxy opens its own TLS session onward:
        Host: webmail.university.example        --> genuine origin serves the real page

victim submits identifier, then password, then the further step the real site asked for
        proxy forwards each field verbatim; the genuine origin validates them for real

genuine origin --> HTTP/1.1 302 Found
                   Set-Cookie: <session cookie>; Secure; HttpOnly
        proxy stores the cookie, then passes the response on unchanged

victim lands signed in on the genuine service
...

go deeper

for a junior

Know the headline: the victim is looking at the real page served through someone else's server, so 'it looked slightly off' is not how this one is caught.

for a middle

Explain the mechanics precisely: two separate TLS sessions, termination at the operator's host, fields forwarded verbatim, and the session the genuine service issues passing back through the proxy.

for a senior

Show the consequence for how an estate reasons about phishing: content inspection and user vigilance about page appearance are the wrong axis, and the relay yields two goods with two different clocks from one exchange.

for a principal

Own the framing that treating phishing as a lookalike-content problem misprices the whole class, because the mechanism that matters operates on origin and on what the genuine service issues, not on what the page looks like.

## The shape of the thing A relay phishing page is not a clone. It is a reverse proxy standing in front of the genuine login origin. The operator registers a domain, obtains an ordinary certificate for it, and points a proxy at the real service. A victim who follows the lure connects to the operator's host over HTTPS; the proxy opens its own connection to the genuine origin, forwards the request, and returns the response. Everything the victim renders is therefore produced by the real service: the markup, the stylesheet, the tenant's own branding, the wording of the error when a password is wrong, and any further challenge the real login decides to present. There is nothing to render imperfectly, because nothing was rebuilt. ## Why TLS termination is the whole mechanism A proxy that merely relayed encrypted bytes would learn nothing. The relay works because the connection terminates at the operator's server: the victim's browser negotiates TLS with the operator's host, using the operator's certificate for the operator's name, and the operator negotiates a second, separate TLS session onward to the genuine origin. Between those two sessions the traffic is cleartext to the operator, who can read it, store it and rewrite it. Nothing here forges a certificate. The operator does not hold the genuine service's private key and does not need it, because the browser is not being asked to accept a certificate for the genuine name. It is being asked to accept a perfectly valid certificate for a name the victim did not look at closely. ## What flows, in order The victim requests the sign-in page and gets the real one. They submit an identifier; the proxy forwards it and returns whatever the service says next. They submit a password; the proxy forwards it and the service validates it for real. If the service demands a further step, the proxy relays that demand and relays the answer, and the answer is correct, because the right person is supplying it in real time to the site that asked. When the service is satisfied, it issues a session in its response, and that response passes through the proxy on its way to the victim. The operator therefore comes away with two things: the secrets typed on the way in, and the session the real service issued on the way out. A relay is a superset of a harvest page's yield, which is one reason the same operator often runs both conversions off the same lure. ## Two clocks, not one The distinction that matters at the next level is what each product's clock is. The typed password dies at the next reset. The session dies on the service's own schedule, when it expires or is otherwise ended. They are not the same good and they do not decay at the same rate, which is why an operator who converts a lure this way has produced inventory of two different kinds in a single exchange. ## What the victim could actually have checked Almost nothing in the page. Content proves nothing, because the content is genuine. The padlock proves nothing, because the certificate is genuine for the operator's domain. The victim's experience is a completely normal, completely successful sign-in, ending on the real service. What differs is the origin: the hostname in the address bar, and consequently the behaviour of anything in the browser that is tied to origin rather than appearance, such as a saved password not offering itself for an unfamiliar name. This is the reason the mechanism is described as attacker-in-the-middle rather than as a lookalike page. The lookalike part is the domain, not the site. ## Operational consequence for the operator A relay must be running at the moment the victim signs in. Its product is manufactured during a live exchange with the real service, so the proxy has to be reachable, the victim has to complete the flow, and the captured session has to be used inside its own lifetime. A harvest page has none of these constraints: it writes a form submission down and works whether anything else is up or not. That difference in operating posture is the practical reason the two conversions coexist rather than one replacing the other.

  • Does the relay operator learn the password as well, or only the session?
    Both. TLS terminates at the proxy, so every field is cleartext there: the operator reads the identifier and password on the way in and the issued session on the way back. The relay's yield is a superset of the harvest page's, which is why one operator running one lure can end up with inventory of two different kinds.
  • Why must a relay be running while the victim is present, when a harvest page need not be?
    Because the relay's product is manufactured by the genuine service during a live exchange. The proxy has to be reachable at that moment, has to hold its onward connection, and has to capture the response that issues the session. A harvest page only writes a form submission down, so it produces its yield with nothing else running.
  • What could the victim have inspected that would actually have differed?
    Essentially the hostname, and whatever in the browser is bound to origin rather than to appearance, such as a saved password declining to fill on an unfamiliar name. The page body, the branding, the error text and the site's own challenges all come from the real service through the proxy, so inspecting them proves nothing.
  • Is the certificate on a relay page forged?
    No, and that is the point. The operator holds an ordinary valid certificate for the domain they registered, so the browser shows a normal secure connection with no warning. Forging a certificate for the genuine name would require the genuine private key, which the mechanism never needs, because the victim is being asked to trust a different name entirely.

It is not a forged shopfront. It is a clerk standing at the real counter, repeating your words to the real staff word for word, and pocketing the receipt the shop hands back.

saying these in an interview costs you the question

  • Calls it a cloned page the victim should have spotted
  • Says the victim's browser would have shown a certificate warning
  • Thinks the proxy forges a certificate for the genuine domain
  • Believes the operator only ends up with the password
  • Assumes any additional login step defeats a relay by itself
  • Describes the relay as replaying a cached copy of the site

context