Great book for learning many attacks that existed up to 2016. The vulnerabilities document within may still exist on some systems that haven't been updated (bad system admins). I surely don't encourage the reader to search for these vulnerable systems- but it is nice to know the book is fairly recent and not from a decade ago.The book is organized so that most chapters can be read independently- i.e. they don't necessarily build on one another, so you can hop around the chapters. Within each chapter, the author provides sufficient background that allows the user to understand how the hack is working. And he does it without losing the reader in noisy unnecessary details.Read the front matter- in it the author specifies the location of virtual machines for use in the hand-on exercises. To properly setup the VMs, you have to read his "how to" guide, posted on his site, for the exercises to work. I missed reading one of these, and could not get my VMs to network. I'm in a class and my professor pointed me to the location on the site- where the file was hidden in clear site (no reason why I missed it). No problem, just open the how-to, read it and configure your VM, and you're good to go. The configuration steps are not difficult... you just have to do them. The config takes about 10 min total.Some of the exercises use the linux command-line and C coding. Some exercises use command-line tools such as Netcat, Pcat, and Curl, which the author shows you how to use. Other exercises use a mock social website created by the author where he demonstrates how to steal the user's session id, and friend them without the other person's knowledge. Many attacks show you how to get root.This book is awesome, I don't know why more people have not bought/rated it. It is relevant, easy to read, concise, and teaches hacks in simple terms. I'm no programming expert (I come from the world of Basic, Fortran, Pascal and some C), yet I could follow this text.Prerequisites includes some knowledge of C or Java. Access to a virtual machine is a must (VMware or VirtualBox or equivalent). And multiple monitors (or a single large one) are VERY useful... since many times you will be running as many as 3 VMs (an attacker, a server, and a user).Happy hacking!!!