In case of Blockchain.info, wallet decryption happens in browser. The server sends you an encrypted wallet if you know user ID and provide 2-FA code. Without the code, anyone who knows your user ID will get the encrypted wallet and bruteforce it offline. With 2-FA they'd have to hack into your email or phone to get the code or hack into your email or computer to get your encrypted backup.