If you're looking for a concise overview of common Smart Contract vulnerabilities you should read through Yos Riady's writeup on his blog.
In it, Yos walks you through the basics of Smart Contract security as well as common vulnerabilities such as the infamous reentrancy bug, bad randomness or integer overflows. Not only do you learn about the theoretical underpinnings of such exploits, you'll also see buggy code examples as well as the fixes necessary to mitigate attacks.
- Yos Riady