Cyberlium

Scam › Module 2 › Lesson 3

BeginnerModule 2Lesson 3/6

QR Code Phishing

How malicious QR codes hijack logins in parking lots, restaurants, and offices—and how to scan safely

15 min+15 XP3 quiz
Module progress3 of 6
Sticker overlay
Sticker overlay · Malicious QR

Opening

The camera skipped the URL bar. Preview is the hover you still have.

A QR code is a link with the typing removed. That is convenient at a meter, a table tent, or a "scan for Wi-Fi" sheet — and it is why phishers like it. You intended to open a menu or pay parking. The code in front of the lens may not be the code the business printed. A sticker laid over a real code (or a whole fake poster) sends the same gesture to a different host: a lookalike login, a payment page, a "Wi-Fi portal" that wants Microsoft or Google credentials. You need the mechanism so you can refuse the open — not a field guide for placing overlays. This lesson will not teach you to print attack stickers, cover public codes, or harvest logins. Practical work is on YOUR phone: preview a QR you created or a known-good one you already own. Do not scan random parking or restaurant stickers as a lab.

1. What the scan actually does — and why overlay works as bait

A QR payload is usually a URL, sometimes a Wi-Fi config string, sometimes a deep link into an app. Your camera or a scanner app decodes the bits and offers to open them. Many phones show a domain banner before the browser loads. That banner is the whole remaining inspection surface — the equivalent of hovering a link on a laptop. If you tap through without reading it, you volunteered the same trust you would give a typed official site, without ever seeing the characters. An overlay works because humans trust the furniture: the meter, the table, the framed Wi-Fi sign. The attacker does not need you to believe a random email. They need you to believe the parking garage. Raised edges, mismatched laminate, a code taped over another code, a tent card that looks newer than the table — those are physical tells. You inspect them the way you inspect a shipping label. You do not peel codes, replace them, or "test" a suspicious sticker by scanning it. Walking away is the control. Pay in the official app you already have, or type the operator's site yourself.

Parking, restaurant, and office Wi-Fi are high-value because the story is ordinary. Parking: scan to pay, land on a page that asks for the same password you use at work — or a card number on a host that is not the city or the garage brand you would type. Restaurant: scan for the menu, land on a "survey + prize" login. Office: a printout "New Wi-Fi — scan to join" that is not from IT, asking for SSO. Work QR codes that "keep email working" or "enroll the new VPN" should come through a channel you already trust, not a hallway flyer you cannot attribute. When in doubt, type the official site or open the official app from the store listing you already use. The QR is optional convenience, not a requirement to complete a real payment or a real login.

2. Preview, type-it-yourself, and what never belongs in a QR lab

Safe scanning is three habits. First: look at the physical code. Overlay, peel, wrong paper, a flyer in a place that should be a printed plate — refuse. Second: read the URL preview on YOUR camera before anything opens. The host should match the business you think you are talking to — not a lookalike, not an extra hyphen, not a random .xyz that says "secure-pay." Third: if the preview is wrong or you have any doubt, do not debug the sticker. Type the official site yourself or use the official app. That is the same "open the bank app, do not click the email" rule from Module 1, applied to photons. Wi-Fi QR codes can encode a network name and password. A hallway sticker is not a reason to join an attacker-controlled AP. Prefer the SSID the venue posted in a durable, consistent place — or skip Wi-Fi and use cellular, which you already practiced in Topic 4. Do not scan a code to install a configuration profile or a certificate unless you initiated that enrollment on a device you administer, from documentation you typed. A surprise profile is a persistence mechanism, not a menu.

The lab-shaped temptation is to wander a garage "collecting" codes. That is out of scope. You might open a phishing host, you might look like you are tampering with payment furniture, and you learn nothing you cannot learn from a code you generated. Create a QR that encodes https://example.com (or another URL you already trust), or use a known-good code you already own: a home Wi-Fi card, a ticket in YOUR email, a package label on a box that is yours. Scan that. Practice reading the preview. Cancel instead of opening if you want to drill the pause. Never scan random public stickers as homework. Never print a lookalike to stick over a real one.

3. Wrong vs right: hunting public stickers vs previewing a code you made

Worked failure — same curiosity about QR phishing, opposite ethics. Overlay is a risk model, not a craft project.

  • Wrong

    You walk a parking garage scanning every meter "to see which are fake," or you print a sticker and cover a restaurant code "for the demo." You tap through a preview that shows pay-garage-secure-login.xyz and type a work password to "confirm it is phishing." That is attacking furniture and possibly feeding a real kit. Not this course.

  • Right

    You generate a known-good QR for https://example.com (or scan a code you already own at home). On YOUR phone, you read the preview banner before opening. You write whether the host matched. You do not scan random public stickers. If you see a physical overlay in the wild, you do not scan it — you pay via the official app or a URL you type, and you may tell the venue. You never place a sticker.

4. Practical: preview on YOUR phone — example.com or a code you already own

Generate a QR that points only at https://example.com, or skip generation and use a known-good code already in your house. The mission is the preview habit, not a collection of stranger URLs. Write the notes to a file you own. Do not paste other people's Wi-Fi passwords into it. If qrencode or Python is missing, the camera drill on a code you already trust is enough.

Command guide

Own-phone QR preview — known-good payload only, never random public stickers

YOUR phone / YOUR machine. Payload = example.com or a code you already own.

Command — copy this

mkdir -p "$HOME/cyberlium-lab"

Optional: make a known-good QR (https://example.com only). Debian/Ubuntu: sudo apt install qrencode Then: qrencode -t ansiutf8 'https://example.com' qrencode -o "$HOME/cyberlium-lab/example-com.png" 'https://example.com'

Optional command

chmod 600 "$HOME/cyberlium-lab/example-com.png"
Python alternative (only if YOU already have a QR library you trust):
  python3 -c "import qrcode; qrcode.make('https://example.com').save('$HOME/cyberlium-lab/example-com.png')"

On YOUR phone: iPhone Camera / Android Camera or Lens — point at YOUR generated QR or at a known-good code you already own (home Wi-Fi card, YOUR ticket).

Optional command

READ the preview banner. Do not tap yet.

Expected host for the generated code: example.com Then Cancel, or open only if the preview matches.

Command — copy this

{
  echo "date: $(date -Iseconds 2>/dev/null || date)"
  echo "=== source (must be yours) ==="
  echo "payload: https://example.com  OR  known-good code I already own (describe, no secrets): "
  echo "generated_with: qrencode / python / skipped_used_existing"
  echo "=== preview on MY phone ==="
  echo "banner_showed_before_open: yes/no"
  echo "host_i_read: "
  echo "matched_expected: yes/no"
  echo "i_opened_anyway: yes/no  (opening example.com is optional)"
  echo "=== wild overlay policy (do not scan as lab) ==="
  echo "if_i_see_a_taped-over_public_code: walk_away / official_app / type_site — never_scan_to_test"
  echo "ethics: did not scan random parking/restaurant stickers, did not place overlays"
} > "$HOME/cyberlium-lab/qr-preview.txt"
chmod 600 "$HOME/cyberlium-lab/qr-preview.txt"

NEVER: scan random garage, table, or hallway stickers "to practice" NEVER: print/place overlay stickers or fake Wi-Fi flyers NEVER: enter work/bank passwords on a host you did not type NEVER: install a config profile from a surprise QR NEVER: join a network because a sticker said so

Mission: preview a QR you made or already own

1) Generate a QR for https://example.com or pick a known-good code you already own (home, YOUR ticket — not a public meter). 2) On YOUR phone, read the preview banner before opening. Write host + match into $HOME/cyberlium-lab/qr-preview.txt and chmod 600. 3) Confirm you did not scan random public stickers and did not place any overlay.

Stuck? Ask Cyberlium AI Mentor

If qrencode is missing or the camera opens immediately, ask for a hint — not a garage crawl. Try: "Hint only: how do I read a QR URL preview on my phone for a code I generated of https://example.com, and why is scanning random parking stickers still forbidden as a lab?" No overlay how-to; you still use your own code.

You now treat a QR as a link you did not type: inspect the physical code, read the preview, and when in doubt type the official site or use the official app. Parking, menus, and office Wi-Fi are convenience, not orders. Next — AI-Powered Scams (2026) — a familiar voice is no longer proof: clones from short clips, fluent phishing with no typos, and callback on a number you already have.

Knowledge Check

1

APPLY: A parking QR looks freshly taped over another code. Camera preview shows pay-garage-secure-login.xyz asking for Microsoft credentials. What do you do, and what must you not do as a "lab"?

Multiple choice

Knowledge Check

2

APPLY: You generated a QR for https://example.com. On your phone the banner shows example.com before any page loads. What skill did you just rehearse?

Multiple choice

Knowledge Check

3

APPLY: True or False: An office printout that says "Scan to keep email working" is safe to open because it is inside the building.

True or False

← Previous

Answer all 3 knowledge checks to continue. (0/3 answered)