What you need
The link itself, copied rather than clicked, and the context it arrived in (who sent it, and whether you expected it).
Reading a URL from the right place
Every URL has the shape scheme://host/path?query#fragment. The host is the part that decides which organisation controls the page, and it is easy to be misled by what comes before it.
| URL | Real host | What it really is |
|---|---|---|
https://mybank.com.secure-login.example/verify |
mybank.com.secure-login.example |
A page on secure-login.example |
https://[email protected]/login |
evil.example |
Everything before @ is a username, ignored for routing |
https://secure-login.example/mybank.com |
secure-login.example |
mybank.com is only a path |
Warning signs
- A host that mixes a brand name with extra words or hyphens, such as
mybank-support-verify.example. - A domain written with characters from another alphabet. Punycode (
xn--) exposes these. - A link shortener or a redirect that hides the final destination.
- A long chain of redirects through unrelated hosts.
- An unexpected message that creates urgency or asks for a password, payment or code.
Common pitfalls
- Judging by the visible text. The text of a link and its destination are independent.
- Trusting the padlock. HTTPS only means the connection is encrypted; phishing sites routinely have valid certificates.
- Refanging too early. Restore a defanged link only when you must open it, and do so in an isolated environment.
Going further
For the structure of URLs and query strings see How URLs and Query Strings Work, and for how this technique is used in practice, Phishing explains the attack itself.