Web › Module 4 › Lesson 3
TLS Mistakes You Can Name
A04: curl -sv DEMO + openssl s_client on example.com or a host YOU own.
Visual · tls_mistakes
TLS mistakes: curl -sv. openssl s_client on example.com or a domain YOU own — never café MITM.
Opening
The padlock is not “the site is safe.” verify=False is not a troubleshooting flex.
OWASP Top 10:2025 A04 includes TLS failures: cleartext where TLS was required, obsolete versions/ciphers, certificate validation skipped, trust stores abused. Attackers want to read or alter traffic when clients stop checking. Your literacy: name the mistakes, curl -sv This is ORIGINAL Cyberlium teaching.
1. Mistake class: skipping verification
verify=False, CURLOPT_SSL_VERIFYPEER=0, and “just for now” in production clients turn TLS into theater. Any cert may be accepted. Attacker with a position on the path can present a fake cert. Fix: keep verification on; fix the trust store or hostname problem properly on systems you own.
Command guide
A04 Crypto — Mistake class
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install curl
macOS: Built-in
Windows: Built-in (PowerShell: Invoke-WebRequest)
═══ COMMANDS ═══
Command — copy this
SAFE="http://127.0.0.1:8771"
Command — copy this
curl -sS -m 3 -I "$SAFE/" | head -n 14
2. Mistake class: obsolete protocols and cleartext fallbacks
SSLv3/old TLS, export ciphers, and HTTP login forms are A04 museum pieces that still appear. Shipping: modern TLS only; HSTS where appropriate on YOUR HTTPS hosts; no sensitive cookies on HTTP. Do not run downgrade attacks against strangers to “prove” it. curl -sv on YOUR demo shows HTTP vs HTTPS without attacking anyone.
Command guide
A04 Crypto — Mistake class
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install curl sudo apt install openssl
macOS: Built-in
Windows: Built-in (PowerShell: Invoke-WebRequest)
Command — copy this
choco install openssl
═══ COMMANDS ═══
Command — copy this
SAFE="http://127.0.0.1:8771"
Command — copy this
curl -sS -m 3 -I "$SAFE/" | head -n 10
3. Mistake class: hostname and trust confusion
Cert must match the name you connect to. Wrong SAN, expired leaf, or untrusted issuer should fail closed. Reading subject/issuer/dates/SAN on example.com is documentation literacy — not “pwned example.com.” Do not fuzz or exploit that host. Do not openssl random banks.
4. Safe demo: public fields only + DEMO identify
168.0.1/ — openssl s_client or Python ssl against example.com (or YOUR domain). Record fields. HOST hardcoded to example.com unless you replace with a domain you own. No argv that points at banks. No private keys in notes.
5. What you record
Date (UTC). Identify curl -sv. Three TLS mistake names. Observed cert fields from example.com or YOUR domain. Ethics refuse MITM/fake CA/hydra LAN. Path: $HOME/cyberlium-lab/a04-tls-notes.txt, chmod 600. Legal: original Cyberlium — not official OWASP certification.
6. Wrong vs right: MITM kits vs public cert literacy
Worked failure — same openssl, opposite job.
Wrong
mitmproxy/fake CA on family devices. verify=False at a bank. Hydra 192.168.0.1. Café sslstrip. Call example.com “pwned.”
Right
curl -sv DEMO (STOP if router); name TLS mistakes; read public fields on example.com or YOUR domain; lock notes. Next: Lab — Crypto Hygiene Checklist.
Identify DEMO, fetch public cert fields. Offline is OK — retry later; write the attempt.
Mission: a04-tls-notes.txt (mode 600)
1) curl -sv http://192.168.0.1/ —2) Name verify=False, obsolete TLS, cleartext sensitive, hostname trust mistakes; read public cert fields on example.com or YOUR domain. 3) Fill $HOME/cyberlium-lab/a04-tls-notes.txt, chmod 600. No MITM.
Stuck? Ask Cyberlium AI Mentor
If “TLS only clicks with mitmproxy” still feels true, ask for a hint — not a fake CA. Try: "Hint only: why verify=False is theater, what openssl s_client fields to record from example.com, and where locked a04-tls-notes.txt lives?"
You can name TLS mistakes under A04, curl -sv YOUR demo, and read public certificate fields without becoming a café attacker. Original Cyberlium — not official OWASP certification. Next — Lab — Crypto Hygiene Checklist.
Knowledge Check
APPLY: A client sets verify=False to “fix a cert error.” What A04 mistake is that?
Multiple choice
Knowledge Check
APPLY: True or False: Reading example.com’s public cert fields means you exploited example.com.
True or False
Knowledge Check
APPLY: curl -sv http://192.168.0.1/ shows Huawei Router Admin. What do you do?
Multiple choice