🚀 Invicti Acquires Kondukto to Deliver Proof-Based Application Security Posture Management
SSL stripping is a type of attack where the attacker tricks the victim’s browser to stop it from changing its insecure HTTP connection with the target site to a secure HTTPS connection. This allows the attacker to intercept all the communications between the victim and the target. SSL stripping is also called the SSL downgrade attack and is considered a man-in-the-middle attack (MITM) technique.
Note: While man-in-the-middle attacks are usually considered to be a network security issue, SSL stripping typically applies to websites and web applications (because they use the HTTPS protocol), so it can also be seen as a web security issue.
When you type an address in your browser’s address bar, your browser first connects to the target site over an insecure HTTP connection. The site then usually responds with a redirect to use a secure protocol (HTTPS). While not obligatory for every website and web application, this is currently the most common scheme to guarantee user security by enforcing HTTPS connections that use the secure sockets layer/transport layer security (SSL/TLS) protocol for fully encrypted connections.
In a man-in-the-middle SSL stripping attack, the attacker does not even need to create a copy of the website or web application (like they would for an SSL hijacking attack vector). All they need to do is set up a proxy server to analyze TCP/IP connections to the HTTP URL of the target site, modify the TCP/IP responses, and remove (i.e. strip) any requests to use HTTPS. This fools the browser into thinking there is no HTTPS version of the site at all and maintaining a plain text HTTP connection.
In this example, the target is the invicti.com website, and you are the victim.
While invicti.com may not be a lucrative attack target, malicious hackers can apply the same techniques to other websites and web applications to get your authentication information. For example, they could target an e-commerce site where you supply your credit card information, or any other webpage that stores and transmits sensitive information.
The technique was suggested at Black Hat 2009 by American computer security researcher Moxie Marlinspike. For a detailed technical example, see the excellent article SSL strip for newbies.
The only way to prevent SSL stripping on the server side is to use HTTP Strict Transport Security (HSTS) to guarantee that insecure connections to your website or web application cannot be made. HSTS forces your browser to upgrade to an HTTPS connection (even if the web server still provides content using an HTTP connection) and also to remember that this specific site is only accessible over HTTPS. Once this information is stored, the browser will never attempt to make HTTP connections to that site again, instead going directly to HTTPS. To ensure security even before that first connection, administrators can put their domain and subdomains on the HSTS preload list built into popular browsers (Chrome and Firefox).
To prevent your connections from being intercepted in the first place, you can use virtual private networks (VPNs). A VPN will prevent attackers from performing the initial MITM attack (ARP spoofing, IP address spoofing, or DNS cache poisoning) required to execute SSL stripping. You should be vigilant and always use a VPN, especially when using public wi-fi hotspots and other insecure wi-fi networks.
In an SSL stripping MITM attack, the attacker prevents a victim’s browser from switching to a secure HTTPS connection, forcing it to use an insecure HTTP connection to the target site. When combined with other attacks, this allows the attacker to intercept unencrypted communication between the victim and the target.
SSL stripping can be very dangerous, but it is not easy to execute because it must be combined with other techniques, such as ARP spoofing, IP spoofing, or DNS cache poisoning.
The only sure way to prevent SSL stripping is to enforce HTTP Strict Transport Security (HSTS) for your domain. With HSTS, browsers are never allowed to connect to your site using plain HTTP, and SSL stripping will not work.