Netsparker detected a mixed content loaded over HTTP within an HTTPS page.


If the HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted. The unencrypted content is accessible to sniffers.

A man-in-the-middle attacker can intercept the request and also rewrite the response to include malicious content. Malicious content can be used to steal the user's credentials, acquire sensitive data about the user, or attempt to install malware on the user's system (by leveraging vulnerabilities in the browser or its plugins, for example), and therefore the connection is not safeguarded anymore.

There are two technologies to defense against the mixed content issues:
  1. HTTP Strict Transport Security (HSTS) is a mechanism that enforces secure resource retrieval, even in the face of user mistakes (attempting to access your web site on port 80) and implementation errors (your developers place an insecure link into a secure page)
  2. Content Security Policy (CSP) can be used to block insecure resource retrieval from third-party web sites

Last but not least, you can use "protocol relative URLs" to have the user's browser automatically choose HTTP or HTTPS as appropriate, depending on which protocol the user is connected with. For example;

a protocol relative URL to load an image would look like <img src="//">. The browser will automatically add either "http:" or "https:" to the start of the URL, whichever is appropriate.

OWASP 2013-A6