SSL/TLS Inspection and Man-in-the-Browser Attacks
Learn when and how to inspect encrypted HTTPS traffic on security gateways, and explore how browser-based attacks like SSL stripping and malicious extensions work.
SSL/TLS Inspection and Man-in-the-Browser Attacks is a free Cloud & IT Cert Prep lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cloud & IT Cert Prep learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Why Inspect Encrypted Traffic?
HTTPS now accounts for more than 90% of web traffic — including malware downloads, C2 channels, and data exfiltration. Perimeter security tools that cannot inspect TLS see only encrypted blobs, creating a blind spot that attackers actively exploit. SSL/TLS inspection (also called SSL interception, SSL bumping, or deep packet inspection for HTTPS) allows security gateways to decrypt, inspect, and re-encrypt HTTPS traffic before it reaches the endpoint. This visibility is essential for web content filtering, DLP, and anti-malware scanning in environments where most traffic is HTTPS.
How SSL/TLS Inspection Works
SSL inspection is technically a controlled man-in-the-middle performed by the organization's own security infrastructure. The process: Step 1: Client establishes TLS to the proxy (using the proxy's certificate signed by the corporate CA). Step 2: Proxy establishes a separate TLS session to the actual server using the server's real certificate. Step 3: Proxy decrypts traffic from the client, inspects it, then re-encrypts and forwards it to the server (and vice versa). The client trusts the proxy's certificate because the corporate CA certificate is pre-installed on all managed endpoints via MDM or Group Policy.
# SSL inspection flow
Client Proxy (SEG) Real Server
| | |
|--TLS ClientHello------>| |
| (proxy cert presented)| |
|<-TLS Established-------|--TLS ClientHello----->|
| |<-TLS Established------|
|--HTTPS Request-------->| |
| |--HTTPS Request------->|
| |<-HTTPS Response-------|
| (inspect, DLP, AV) | |
|<-HTTPS Response--------| |
| | |SSL Inspection Exemptions
Not all traffic should be inspected. Organizations typically exempt categories that carry legally or ethically sensitive data: banking and financial sites, healthcare portals, legal research databases, certificate transparency and OCSP URLs (to avoid breaking certificate validation), and sites that use certificate pinning (which will reject re-signed certificates and break the application). Exemptions are maintained as a bypass list in the inspection policy. In some jurisdictions, employee monitoring laws may restrict inspection of personal web browsing, requiring clear disclosure in acceptable use policies.
# SSL inspection bypass list examples
ssl_inspect_bypass:
# Financial sites
- *.bankofamerica.com
- *.chase.com
# Healthcare
- *.mychart.com
# Certificate infrastructure
- ocsp.*.com
- crl.*.com
# App that uses cert pinning
- api.corporate-erp.com
# Government sites
- *.irs.gov
- *.ssa.govCertificate Pinning and Inspection Bypass
Certificate pinning is a technique where an application hardcodes the expected certificate or public key for a specific server and refuses to connect if the certificate does not match — even if the certificate is valid and trusted by the OS CA store. This breaks SSL inspection because the proxy's re-signed certificate does not match the pinned value. Mobile apps (banking apps, payment apps) frequently use certificate pinning as an anti-MitM measure. Enterprises must bypass inspection for pinned apps or they will break. This also means attackers who want to evade SSL inspection from their malware can implement pinning.
What Is SSL Stripping?
SSL stripping is a man-in-the-middle attack where an attacker intercepts HTTPS traffic and downgrades it to HTTP, allowing them to read and modify the content in plaintext. The attack works on connections that start as HTTP before redirecting to HTTPS: the attacker intercepts the initial HTTP request, maintains an HTTP connection to the victim while establishing HTTPS with the legitimate server, and transparently relays traffic. From the victim's perspective, the site appears to be HTTP. HTTP Strict Transport Security (HSTS) defends against SSL stripping by telling browsers to always use HTTPS for a domain, even if the user types HTTP.
# HSTS response header (server sends this)
Strict-Transport-Security: max-age=31536000;
includeSubDomains;
preload
# max-age=31536000 = 1 year in seconds
# includeSubDomains = also enforces HTTPS on subdomains
# preload = include in browser HSTS preload list
# (HSTS enforced even on first visit)
# After receiving HSTS header:
# Browser WILL NOT connect via HTTP for 1 year
# SSL stripping becomes ineffectiveMan-in-the-Browser (MitB) Attacks
A Man-in-the-Browser (MitB) attack is a form of banking Trojan that inserts itself inside the web browser — as a malicious extension or browser process injection — and modifies web pages and transactions without the user noticing. Unlike a network MitM, MitB operates inside the encrypted session at the browser layer, so TLS provides no protection. MitB malware (Zeus, SpyEye) can: change payment amounts, alter recipient account numbers, capture one-time passwords, and silently modify forms after the user fills them in. The modifications happen after TLS decryption and before the user sees the rendered page.
MitB Attack Mechanism
MitB malware hooks browser APIs at the application layer. On Windows, it injects code into browser processes (Chrome, Firefox, IE) using DLL injection or COM hijacking, then hooks JavaScript functions and DOM manipulation APIs. When a user visits their bank, the malware intercepts the JavaScript that renders the page and transaction confirmation, altering the recipient account to the attacker's account. The server sees the correct transaction; the server-side HTTPS logs show nothing unusual. The user sees the correct confirmation — with their intended amount — while the actual transfer goes to the attacker's account.
MitB Defenses
Defending against MitB requires layered controls. Browser isolation (Menlo Security, Zscaler Browser Isolation) executes browser rendering in a remote cloud VM and streams only pixels to the user's screen — malware cannot inject into a browser process running in a remote environment. Transaction verification: banks confirm transaction details (amount + recipient) through an out-of-band channel (SMS OTP that includes the transaction details) so the user must verify what the server actually received. Endpoint EDR that detects DLL injection into browser processes can identify MitB infections. Browser extension allowlisting prevents malicious extensions.
Malicious Browser Extensions
Malicious browser extensions are a significant endpoint threat. Extensions have broad permissions — they can read page content, modify requests, intercept form submissions, and access cookies. An extension masquerading as a useful tool (ad blocker, dark mode) may harvest credentials, inject ads, redirect traffic, or act as a MitB agent. Enterprise controls: use Group Policy or MDM to restrict extension installation to an approved allowlist. Block extension installation from sources other than the Chrome Web Store or Firefox Add-ons. Audit installed extensions on managed endpoints regularly for policy violations.
# Chrome enterprise extension control (Group Policy)
# Computer Config > Admin Templates > Google Chrome
# > Extensions > 'Configure the list of force-installed apps'
# Add extensions by ID:
ExtensionInstallAllowlist:
- 'efaidnbmnnnibpcajpcglclefindmkaj' # Adobe Acrobat
- 'cjpalhdlnbpafiamejdnhcphjbkeiagm' # uBlock Origin
ExtensionInstallBlocklist:
- '*' # Block all others
# Force-install approved extensions from URL
ExtensionInstallForcelist:
- 'id;https://internal-extension-server/update.xml'TLS Inspection Policy and Privacy Balance
Organizations that implement SSL inspection must address the privacy implications for employees. Many jurisdictions and employment laws require clear notice before monitoring encrypted traffic. Best practices: publish an Acceptable Use Policy (AUP) that explicitly states that network traffic including HTTPS may be inspected; have employees acknowledge the AUP during onboarding; implement bypass categories for personal banking and medical sites; and store decrypted traffic logs only as long as necessary (typically 30-90 days). Legal counsel should review the inspection program before deployment, particularly in EU countries where GDPR places stricter limits on employee monitoring.
HTTPS Certificate Transparency (CT)
Certificate Transparency is a framework (RFC 6962) that requires all publicly trusted TLS certificates to be logged in publicly auditable, append-only CT logs before browsers will trust them. CT enables domain owners to monitor for mis-issued certificates: if an attacker somehow convinces a CA to issue a certificate for your domain (as happened with DigiNotar in 2011), CT logs allow near-real-time detection. Tools like crt.sh let security teams search CT logs for all certificates issued for their domain. Browsers enforce CT by requiring proof of log inclusion (Signed Certificate Timestamps, SCTs) embedded in the TLS handshake.
# Search CT logs for certificates issued for your domain
# Use crt.sh public CT log aggregator
curl 'https://crt.sh/?q=example.com&output=json' | \
python3 -m json.tool | grep '"name_value"'
# Result shows all certs issued for example.com and
# *.example.com including: issuer, validity, SANs
# Monitor for unexpected certs = potential mis-issuance
# Also subscribe to cert monitoring services:
# Facebook Certificate Transparency Monitoring
# sslmate.com/certspotter
# Google cert-manager webhook notificationsQuick Check
Test your understanding of CompTIA Security+ (SY0-701) concepts from this lesson.
Lesson Recap
In this lesson you learned: SSL/TLS inspection decrypts, inspects, and re-encrypts HTTPS traffic at a proxy using a corporate CA certificate trusted by managed endpoints, SSL stripping downgrades HTTPS to HTTP and is defeated by HSTS, and man-in-the-browser attacks inject into the browser process above the TLS layer to modify transactions invisibly, requiring browser isolation or out-of-band transaction verification as defenses. Next up we explore replacing insecure protocols with their secure equivalents.
Frequently asked questions
Is the “SSL/TLS Inspection and Man-in-the-Browser Attacks” lesson free?
Yes — the full text of “SSL/TLS Inspection and Man-in-the-Browser Attacks” is free to read here on the web, and the Cloud & IT Cert Prep course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cloud & IT Cert Prep course, upgrade to CoddyKit PRO.
What will I learn in “SSL/TLS Inspection and Man-in-the-Browser Attacks”?
Learn when and how to inspect encrypted HTTPS traffic on security gateways, and explore how browser-based attacks like SSL stripping and malicious extensions work. You practise Cloud & IT Cert Prep with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Cloud & IT Cert Prep?
No prior experience is required. Cloud & IT Cert Prep on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “SSL/TLS Inspection and Man-in-the-Browser Attacks” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Cloud & IT Cert Prep lesson?
Yes. Every Cloud & IT Cert Prep lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Email Authentication: SPF, DKIM, and DMARC
- Secure Email Gateways and Anti-Spam Controls
- Web Content Filtering and DNS Sinkholes
- SSL/TLS Inspection and Man-in-the-Browser Attacks