HTTPS is not a security guarantee — it is an encryption guarantee. Your connection to the server is encrypted, which means a network attacker between you and the server cannot read or modify the data in transit. That is important and valuable. It is also the only thing HTTPS actually does. Every SQL injection vulnerability, every exposed admin panel, every insecure cookie, and every outdated framework running behind that green padlock is still fully exploitable. HTTPS proves the connection is encrypted. It says nothing about whether the application running on it is secure.
What HTTPS Actually Protects
HTTPS (HTTP over TLS) provides three specific guarantees:
- Encryption in transit — data exchanged between your browser and the server cannot be read by a network observer (ISP, coffee-shop Wi-Fi attacker, or government surveillance).
- Integrity — the data cannot be silently modified in transit without detection.
- Authentication — a valid TLS certificate confirms the server is who it claims to be, so you are not talking to an impersonator.
These are all properties of the connection. The moment the encrypted data arrives at the server and gets processed by your application, TLS has done its job. Everything that happens next — database queries, access control checks, session management, file serving — is entirely outside TLS's scope.
What HTTPS Does Not Protect
The following vulnerabilities are completely unaffected by whether your site uses HTTPS. All of them have appeared in HTTPS-enabled websites that were subsequently breached.
SQL Injection
A query like SELECT * FROM users WHERE username = '$input' is equally vulnerable whether submitted over HTTP or HTTPS. The injection happens inside the application, after TLS has decrypted the request. If user input reaches a database query without parameterization, TLS cannot help. An attacker submitting ' OR '1'='1 gets the same result regardless of the protocol.
Cross-Site Scripting (XSS)
XSS occurs when attacker-supplied input is reflected or stored in a page and executed as JavaScript in another user's browser. The script runs in the victim's browser after the HTTPS connection has delivered the page. The encryption layer has no visibility into the content of the page it transported.
Broken Access Control
If your admin panel is accessible at /admin without authentication, or if a user can access another user's records by changing an ID in the URL, that is a broken access control vulnerability. HTTPS dutifully delivers each unauthorized request to your server and delivers the unauthorized response back. It does not evaluate who should be allowed to see what.
Exposed Sensitive Files
Backup files (.bak, .sql, .zip), configuration files (.env, config.php, database.yml), git repositories (/.git/config), and log files are often left accessible on web servers by accident. HTTPS encrypts the download of those files — it does not prevent the files from being there or prevent discovery.
Insecure Cookies and Session Handling
Authentication cookies missing the Secure flag can still be transmitted over plain HTTP, even on HTTPS sites (for example, on HTTP subdomains). Cookies without the HttpOnly flag are accessible to JavaScript, meaning any XSS vulnerability can steal sessions. The SameSite attribute controls cross-site request behavior. None of this is enforced by TLS.
Security Header Gaps
Headers like Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy define how browsers should handle your content. Missing or misconfigured headers leave users exposed to clickjacking, MIME-type sniffing, data leakage, and other browser-level attacks. These are application-level controls — not provided by HTTPS.
Server Version Disclosure
Response headers like Server: Apache/2.4.29 or X-Powered-By: PHP/7.2.24 tell attackers exactly which software version you are running. If that version has known CVEs, they have a specific attack target. HTTPS encrypts the transport of these headers to an interceptor — it does not prevent your application from advertising vulnerable version strings to every client that connects.
SSRF (Server-Side Request Forgery)
If your application fetches URLs based on user input and does not validate the target, an attacker can make your server issue requests to internal services — cloud metadata endpoints, internal APIs, or other backend systems. These requests originate from your server, inside your network, and have nothing to do with the TLS session the attacker used to send the original request.
Outdated Dependencies
Running WordPress 5.8, jQuery 1.x, or an unpatched version of your web framework behind HTTPS does not eliminate the vulnerabilities in those components. The encryption layer protects the communication channel. It does not patch your application dependencies.
Weak Passwords and Credential Stuffing
Your login page over HTTPS still accepts weak passwords. Credential stuffing attacks — where attackers try username/password pairs from data breaches — work perfectly over HTTPS because HTTPS protects the credential in transit; it does not evaluate whether the credential is strong or whether the login attempt is legitimate.
Real Attack Scenarios on HTTPS Sites
HTTPS adoption is now near-universal among hacked websites. Consider these patterns:
A retail site with a valid certificate stored customer data in a database queried with string concatenation. An attacker submitted a crafted search query, extracted the customer table, and dumped 200,000 records over a fully encrypted HTTPS connection. The padlock was present throughout.
A SaaS platform serving small businesses kept its admin panel accessible at /admin/dashboard with no IP restriction and no second authentication factor beyond a default password. The path was discovered through a robots.txt entry. Full admin access was obtained over HTTPS in minutes.
A media company left a .git directory accessible on its production server. An attacker fetched /.git/config, then reconstructed the repository, found database credentials hardcoded in a config file, and connected to the database directly. The git folder download happened over HTTPS.
None of these attacks had anything to do with the TLS configuration. In each case, HTTPS was working exactly as designed — encrypting the connection. The vulnerabilities existed at the application layer, above TLS entirely.
How Shieldome Checks This
Shieldome performs over 40 security controls across all OWASP Top 10 (2021) categories. Here is what is checked beyond basic HTTPS status:
- TLS configuration — certificate validity, expiry days remaining, HSTS presence and max-age, HTTPS redirect enforcement
- Injection indicators — SQL error patterns in responses to crafted parameters, XSS reflection detection using benign probe markers, path traversal responses
- Broken access control — sensitive path enumeration (admin panels, dashboard routes, API endpoints without authentication indicators)
- Exposed sensitive files — .env, .git/config, backup files (.bak, .sql, .zip, .tar.gz), log files, configuration files (.htaccess, web.config, database.yml)
- Security headers — Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, HSTS
- Cookie security attributes — Secure flag, HttpOnly flag, SameSite attribute on all Set-Cookie headers
- Server version disclosure — Server and X-Powered-By headers advertising specific version strings
- CORS misconfiguration — overly permissive Access-Control-Allow-Origin responses
- Directory listing — open directory indexes on common paths
- robots.txt analysis — disallowed paths that may reveal sensitive routes
- Subresource Integrity — external scripts and stylesheets loaded without integrity attributes
- SSRF indicators — URL parameters that accept external URLs without apparent validation
- Debug mode detection — verbose error pages, stack traces in responses
- Vulnerable component fingerprinting — CMS versions, JavaScript library versions with known vulnerabilities
- Performance controls — DNS lookup time, TTFB, page size, caching headers, compression
A Shieldome scan runs in 2–5 minutes and produces a structured report with severity ratings and specific remediation guidance for each finding. No agent installation required.
What You Should Actually Do
HTTPS is a necessary baseline — not a security program. Every public website should enforce HTTPS and get full marks on TLS configuration. Then address the application layer:
- Use parameterized queries for all database access.
- Encode all output and implement a Content-Security-Policy.
- Enforce authentication and authorization on every route, not just the login page.
- Remove or restrict access to sensitive files from the web root.
- Set Secure, HttpOnly, and SameSite attributes on all authentication cookies.
- Deploy all security headers appropriate for your application.
- Remove version strings from server response headers.
- Keep dependencies updated and monitor for known CVEs.
The TLS padlock is a signal that the connection is encrypted. It is not a signal that the application is secure. These are different things, and conflating them is a common and costly mistake.
HTTPS proves the connection is encrypted. It says nothing about whether the application running on it is secure.
Run a free Shieldome scan to see exactly what is exposed on your HTTPS site beyond the certificate itself — injection indicators, exposed files, missing headers, and more, in under 5 minutes.
FAQ
If my site has HTTPS, can I still get hacked?
Yes. The vast majority of web application breaches occur on HTTPS-enabled sites because HTTPS is now the default and most common web security vulnerability — SQL injection, XSS, broken access control — operates entirely at the application layer, above TLS. HTTPS does not evaluate or protect application logic.
Does HTTPS prevent man-in-the-middle attacks?
HTTPS with a valid certificate prevents passive eavesdropping and most man-in-the-middle attacks on the network transport layer. An attacker who can compromise your DNS, install a trusted root certificate on a victim's device, or exploit a certificate authority can still intercept traffic. More importantly, MITM attacks are only one threat vector — most successful web attacks do not require MITM at all.
What is the difference between transport security and application security?
Transport security (TLS/HTTPS) protects data as it moves between the client and server across the network. Application security protects data and logic within the application itself — how it handles input, manages sessions, controls access, and serves files. You need both. Transport security without application security is common and dangerous.
Does having an SSL certificate mean my site is safe?
No. An SSL/TLS certificate verifies server identity and enables encryption. It does not scan your code, validate your input handling, or ensure your configuration is secure. Certificates are issued to anyone who controls a domain — including attackers running phishing sites. Many phishing sites use HTTPS with valid certificates.
What is HSTS and why does it matter if I already have HTTPS?
HTTP Strict Transport Security (HSTS) is a response header that tells browsers to always use HTTPS for your domain and never attempt an HTTP connection. Without HSTS, a user who navigates to http://yourdomain.com is briefly vulnerable to a downgrade attack before the server redirects to HTTPS. HSTS eliminates that window. It is an important complement to HTTPS, not redundant with it.
My hosting provider says my site is "secured with SSL" — does that cover everything?
SSL/TLS activation from a hosting provider covers the transport encryption layer. It does not cover your application code, your plugin versions, your file permissions, your cookie attributes, or your security headers. Hosting providers enable HTTPS for the connection; you remain responsible for the security of what runs on it.
How do I know which vulnerabilities my HTTPS site has?
The most direct way is to run an automated security scan that checks beyond TLS. Shieldome checks 40+ controls across all OWASP Top 10 categories — injection indicators, access control issues, exposed files, missing security headers, cookie configuration, and more. A scan takes 2–5 minutes and gives you a prioritized list of findings with remediation guidance.