How to Find, Exploit and Defend Against Authentication Vulnerabilities. For Ethical Hackers, Developers & Pentesters