Data Transmission Without Encryption
Data Transmission Without Encryption occurs when sensitive data is transmitted over a network without encryption. Applications send passwords, authentication tokens, credit card numbers, personal information, and other sensitive data in plain text or with weak encryption, allowing anyone with network access to intercept and read it.
This is one of the oldest and most exploited vulnerabilities in web applications. It's not about attacking the application itself—it's about intercepting data in transit before it reaches the application.
Real-World Attack Scenarios
Scenario 1: HTTP Login Without HTTPS
A website's login form submits credentials over HTTP (unencrypted):
<form action="http://example.com/login" method="POST">
<input type="email" name="email" placeholder="Email">
<input type="password" name="password" placeholder="Password">
<button type="submit">Login</button>
</form>The attack:
An attacker on the same network (coffee shop WiFi, corporate network, ISP) uses a packet sniffer to capture traffic:
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
email=user@company.com&password=MySecurePassword123The attacker now has the user's credentials in plain text. They can:
Log in as the user
Access sensitive data
Perform actions on behalf of the user
Reset the password and lock out the real owner
Finding it: Check if login endpoints use HTTPS. Test if credentials are sent over HTTP. Use browser developer tools or network analysis tools to verify encryption.
Exploit:
Scenario 2: API Tokens in Plaintext
A mobile app communicates with an API using HTTP and includes authentication tokens in the Authorization header:
The vulnerability:
The token is transmitted unencrypted. An attacker on the network:
Captures the token
Uses it to make authenticated API requests
Accesses the user's data
Performs actions without the user knowing
The damage: Unlike passwords, tokens often don't change after compromise. The attacker maintains access until the token expires. If the app doesn't validate token origin or request context, the attacker has complete access.
Finding it: Intercept mobile app traffic with tools like Burp Suite or mitmproxy. Check if API tokens are transmitted over HTTP. Test if captured tokens work from different networks/devices.
Exploit:
Scenario 3: Session Cookies Over HTTP
A website sets session cookies over HTTP:
The session cookie is transmitted unencrypted. An attacker captures it:
The result: The attacker impersonates the user without knowing their password. They have full access to the user's account.
Finding it: Check cookies in browser DevTools. Use network analysis tools to see if cookies are sent over HTTP. Test if captured cookies work from different browsers/machines.
Exploit:
Scenario 4: Payment Information Over HTTP
An e-commerce site transmits credit card data over HTTP during checkout:
The attack:
An attacker on the network captures credit card information from multiple transactions:
They now have payment data for fraud, sale on dark web, or identity theft.
Legal consequence: PCI DSS (Payment Card Industry Data Security Standard) explicitly requires encryption for credit card transmission. Companies violating this face fines up to $100,000+ per incident.
Finding it: Test checkout flows over HTTP. Capture payment requests to verify encryption. Check if PII and payment data are ever transmitted unencrypted.
Exploit:
Scenario 5: API Endpoints Accepting Both HTTP and HTTPS
A company implements HTTPS correctly but also leaves HTTP endpoints active. Many users and apps access the HTTP version out of habit or misconfiguration:
The vulnerability:
Developers assume users will use HTTPS, but:
Legacy apps use HTTP
Load balancers redirect HTTP to HTTPS, but packets are still captured in transit
Users manually type http:// instead of https://
Attackers perform SSL stripping attacks (downgrade HTTPS to HTTP)
Finding it: Test both http:// and https:// versions of endpoints. Check if HTTP traffic is rejected or allowed. Use tools like curl to test unencrypted access.
Exploit:
Scenario 6: Configuration Data in Plaintext
An application stores and transmits API keys, database credentials, and configuration secrets in plaintext files over HTTP:
The attack:
An attacker captures the configuration file and gains access to:
Database credentials
Third-party API keys
Internal service credentials
Master secrets for entire infrastructure
With these credentials, they can:
Access the database directly
Use API integrations fraudulently
Access cloud infrastructure
Move laterally through the network
Finding it: Scan for unencrypted transmission of configuration files. Check if secrets are exposed in source code repositories, logs, or accessible endpoints.
Exploit:
Scenario 7: DNS Queries Without Encryption
A mobile app makes DNS queries over UDP (unencrypted) to resolve API endpoints:
The attack:
An attacker performs DNS spoofing:
Intercepts the DNS query
Responds with their own IP address
The app connects to the attacker's server instead of the real API
Man-in-the-middle attack succeeds
The solution: Use DNS over HTTPS (DoH) or DNS over TLS (DoT) to encrypt DNS queries.
Finding it: Monitor DNS traffic from applications. Check if apps use encrypted DNS. Test if DNS responses can be spoofed.
Exploit:
Mitigation Strategies
Enforce HTTPS everywhere Use HTTPS for all endpoints, not just login or payment. There's no performance justification for HTTP anymore.
Implement HSTS (HTTP Strict Transport Security) Tell browsers to always use HTTPS for your domain:
Secure cookies properly Set the Secure flag to prevent transmission over HTTP:
Use certificate pinning for mobile apps Pin expected certificates to prevent MITM attacks even with compromised CAs.
Encrypt sensitive data at rest and in transit
TLS for transmission
AES-256 for storage
Separate encryption for backups
Validate certificates properly Verify certificate validity, expiration, and CN/SAN matching.
Use strong cipher suites Disable weak ciphers like SSL 3.0, RC4, and DES. Use TLS 1.2+ with modern cipher suites.
Monitor and alert on unencrypted requests Log and flag any attempts to transmit sensitive data unencrypted.
Use DNS encryption Implement DoH or DoT to prevent DNS spoofing attacks.
Last updated