POODLE: The SSL 3.0 vulnerability is in the Cipher Block Chaining (CBC) mode. Block ciphers require blocks of fixed length. If data in the last block is not a multiple of the block size, extra space is filled by padding. The server ignores the content of padding. It only checks if padding length is correct and verifies the Message Authentication Code (MAC) of the plaintext. That means that the server cannot verify if anyone modified the padding content.
BEAST: Browser Exploit Against SSL/TLS (BEAST). It is an attack that was found to be possible against TLS v1.0 and SSLv3.0 (and below) when a block cipher is in use. In this attack, the attacker is able to determine the IV(Initialisation Vector) which is utilised as part of the encryption process.
It provides a way to extract the unencrypted plaintext from an encrypted session.
BREACH (Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext):
Breach attack is an exploit against HTTPS when using HTTP compression. It is based on CRIME exploit.
It was possible to mitigate CRIME by disabling TLS compression, but BREACH attacks HTTP responses. To be vulnerable against BREACH attack, a web application must be served from a server that uses HTTP level compression. Also, user input should be reflected in HTTP response and also a secret should be reflected in response body (such as CSRF token).
FREAK (Factoring RSA Export Keys):
Export cipher suites have been stopped using in 2000s. But researchers revealed that old export cipher suites are still being used. This cipher suite enables really weak encryption.
In handshake process attacker modifies the cipher suite and make server and client use the export RSA keys. This encryption key with export RSA can be easily broken by the attacker and can control the traffic. MITM is possible using FREAK attack.
Support for export-grade cipher suits must be disabled on servers. Vulnerable clients also must be updated. This vulnerability was seen on every browser and also on OpenSSL.
HEARTBLEED: Heartbleed is not an issue with TLS/SSL itself but an issue with OPENSSL affected versions 1.0.1 and before. It doesn’t require man in the middle, it can be exploited against both server and client.
(The most common implementation of SSL and TLS is OpenSSL. Openssl is an encryption library. OpenSSL is a toolkit for TLS and SSL protocols. OpenSSL is a set of open source tools.)
It is a buffer size check issue. Heartbeat check traffic is not encrypted. Also OpenSSL is not checking the length of heartbeat command, if the attacker specifies the heart command as 64k and sends it to server, than response is 64k with information in it. Response is with “HEART+random additional information”
Heartbleed allows an attacker to extract up to 64kb of memory from vulnerable system. This can lead to theft of credentials, session tokens and server private keys.
DROWN: CVE-2016-0800, or Decrypting RSA with Obsolete and Weakened eNcryption (DROWN),
Is a vulnerability that affects servers still supporting SSLv2 or servers that share private key with any other server that allows SSLv2. Attack takes many hundreds of requests. This can be achieved by the user visiting a load intensive application or alternatively forcing user to visit a site which can make a large number of cross-site requests.
Even if the target application uses TLS 1.2, if SSLv2 is supported and RSA key exchange algorithm is used, it means that server is vulnerable to DROWN attack.
If server supports SSLv2 but doesn’t support SSLv2 cipher suits, server is still vulnerable.
To protect against DROWN, server operators need to ensure that their private keys are not used anywhere with server software that allows SSLv2 connections.
Attacker makes multiple requests to server, in some of them by luck he will guess the correct padding. Than try more and more and will acquire more data.

