

🚀 Hack the system, own the knowledge, lead the future.
Hacking: The Art of Exploitation, 2nd Edition by Jon Erickson is a top-ranked, highly rated book that teaches hacking from the ground up. It covers assembly and C programming, network attacks, and cryptography with a hands-on approach, empowering readers to build and exploit their own systems. Ideal for beginners to advanced learners, it emphasizes deep understanding over tool reliance, making it a timeless resource for mastering cybersecurity fundamentals.





| Best Sellers Rank | #46,673 in Books ( See Top 100 in Books ) #13 in Computer Hacking #21 in Computer Network Security #35 in Internet & Telecommunications |
| Customer Reviews | 4.6 out of 5 stars 1,574 Reviews |
R**L
A hacking book that teaches you mindset
I've read quite a few books on hacking, many of which focus on specific technologies—such as using tools to perform reconnaissance on websites and identify potential attack targets. This book, however, takes a different approach. It starts by teaching the fundamentals of assembly and C programming, then moves on to help you identify programs vulnerable to buffer overflows. You'll learn how to write shellcode to exploit these vulnerabilities. What sets this book apart is its minimal reliance on abstractions. For instance, it teaches you how to build your own simple web server, which you can then exploit. Need to perform a SYN flood against a target? No problem—you'll write your own in C to fully understand the process. This hands-on approach will give you a solid understanding of networking. There's even a chapter dedicated to cryptography, which will deepen your knowledge in this critical area. To top it off, the book culminates in a project where you'll learn to crack WEP encryption—not with third-party tools, but by exploiting weak initialization vectors (IVs) and doing it all yourself. While some of the examples, such as the buffer overflow scenarios, may not work in real-world environments, this book is still an invaluable resource. It covers essential foundational knowledge that will serve you well on your hacking journey. There are books that quickly get outdated because they teach you how to use tools. This book is a classic. It teaches you understanding. After reading this, you’ll have a better understanding of how third-party tools work, or you can write your own!
S**W
Regained my lost book
I had the first edition copy of this book that I studied. This second edition has a lot more knowledge and sets the mindset to have. It’s very insightful and tackles concept in an easy to grasp way. The first edition had a CD in the back, but since then they have gone away with the physical disk and have a link in the back of the book to set up your vm or machine to practice the concepts in a safe environment. This is a great addition to anyone curious about computers and wanting to do a hands on approach. I’d recommend for beginners up to advanced. It’s a handy reference and great for getting your feet wet.
J**T
This is a 'real' hacking book, not another high level concepts book
This is a 'real' hacking book, not another high level concepts book. It examines low level exploits, mostly via assembly language and C code examples. By page 21, Jon is walking the user through an object dump of a C program, by page 25 explaining the Intel assembly language. We have all heard of buffer overflow exploits, shellcodes. Jon provides detailed coding examples, teaching the reader about registers, memory locations - all in exacting, working detail. My favorite part of the book is when Jon, wanting to reduce the footprint of a sample exploit program's code, reverses a loop's order, shortening a section of code from 5 to 4 instructions! Super clever.
L**R
Find out how deep the rabbit hole really goes
The easiest way to sum up this book is simply "wow." Erickson discusses the fundamentals of exploits (hacks) on local machines and remote machines, and also hits on a bit of cryptology. The meat of book is sandwiched by something of an inner dialogue and history of hacking, which alone are worth the cost of the book. This book is not for the layman or the faint of heart- you have to know how to write code, and you have to at least know how to read Intel x86 assembly, if not write it. It also doesn't hurt to know how programs are actually executed- beyond just double-clicking an icon- I'm talking about stacks and heaps and everything else. The second chapter is possibly the most elegant summary of programming and the C language I have ever seen, ever, but nothing beats a few years "in the trenches." So once you've refreshed your basics of programming, Erickson gets right into it, discussing buffer overflows. He builds up from the most simple concepts into more and more complicated tools- which seems to be exactly how we have arrived at modern exploits; the hackers and the anti-hackers have been co-evolving over the years. Next comes hacking remote machines, including how to cover your tracks- which I found to be some of the most devious ideas presented. If you take your time, and run some of the exploits yourself on the included CD, you will come away with an incredible knowledge of how many exploits work from their most fundamental level. If you're anything like me, you will enjoy the "hunt" of trying to counter the exploit before Erickson explains the solution. Also, if you're anything like me, you will walk away from the book shaking your head at the rut called ASCII that we've worked ourselves into. <rant> I think this is another one of those books that needs to be on a mandatory reading list for all CS bachelors degree. It seems to me that most of the exploits wouldn't be a problem if programmers were a bit more diligent in their coding. strcpy() is your enemy, strncpy() is your friend. Always always ALWAYS be 100% suspicious of any input supplied from a user- check for illegal characters. Instead of if(functionThatReturnsTrue), try if(functionThatReturnsTrue == True). The list goes on and on. Computers do only what they are told, and if you leave a hole in your program that allows someone else to tell the computer what to do to save yourself the second or two it takes to hit a few more keys, well then you deserve to be hacked and summarily lose your job. Due diligence: do it- maybe then the real engineering disciplines won't be so mad when code monkeys call themselves engineers. </rant> From what I can gather, the first edition was too terse. I think the second edition was a bit long-winded at times. And there's no discussion of hacking a Windows machine. However, this is still by far the best general hacking book out there.
J**N
Covers Everything. Be Warned.
I picked this book up a number of years ago when I got interested in understanding exploits. I've got experience writing code, and even some basic knowledge of networking. However it was difficult to get past the first 3 chapters. I stopped, and started elsewhere. This book will cover everything you need to know, and while that sounds great it's not for beginners or people looking to start quickly. I recommend seeking introductory knowledge elsewhere, C, OSI, TCP/IP, operating systems etc. Penetration Testing a Hands on Guide by Georgia Weidmam is a good way to get started with just getting hands on practice. Once I went back and got a grip on these concepts and had some practice the book was easier to understand and I came to appreciate it much more. Its not an easy read, and you need to have some solid understanding of the machine as a whole. After I played with buffer overflows in a VM I went back and appreciated chapter 0x200s coverage of registers and what they do. Buy this book only if you have a solid understanding of the computer as a whole, or will develop it alongside. The book will not get you started. It will definitely help you develop the understanding of why a buffer overflow script written in Python works, and how. If you want to get up and running quickly look elsewhere. But that doesn't mean it's a bad text, it's well done, insightful, and will help you understand the why of exploiting software.
P**S
Excellent!
If you have a minor knowledge of programming and really want to know some basics about how someone might go about tricking their way into a computer, this book is excellent. The author explains and re-explains basic ideas in an extremely clear way, and gives tons of examples that clearly demonstrate his points. He even tosses in a disc which will boot up your computer in an Ubuntu OS off the CD drive so you can try out the code for yourself and follow along. I love it! The disc didn't work on Vista, but it worked on an older laptop i have running XP, just to warn you. (ya ya, I went into the bios and changed the boot sequence, it still didn't work, had a bunch of odd errors and then just kinda froze. Even on the XP laptop, its kinda a coin toss as to whether or not it will boot, and it sounds like it's testing the CD drive for all its worth, but when it works its really awesome). Anyway, despite that, I think this book is exactly what i was looking for - not too soft, just the right amount of code, and just the answers I was looking for as someone who really wants to know how hacking really works. 5 stars.
R**R
Excellent Intro To Program Exploitation
This book starts with a well-written introduction to C programming concepts as the rest of the book focuses on the exploitation of such programs. The exploitation sections begin with basic overflow and format vulnerabilities and progresses to more advanced techniques involving writing shell code and circumventing basic protection methods implemented by operating systems. Although this book covers some moderately advanced material and I intend to re-read it once I get more experienced with x86 assembly, the author did a nice job of stepping through the concepts in a logical order to acquaint the reader with the necessary information to move forward. For the right kind of reader, this book does a great job of covering the types of vulnerabilities most program exploits are based on and provides plenty of examples to try yourself to see the concepts in action. I especially appreciated the sections on the networking exploits as it answered some questions I had always been interested in. As others have said, this book is not for casual readers, it teaches real program exploitation techniques and a familiarity with C and x86 assembly would be helpful although it does a good job of covering the basics of this material. I thoroughly recommend this book for those interested in learning more about how programs are exploited and what can be done with that knowledge.
J**A
Good read if not a bit pricey.
Good read, if you want to save some cash look for used.
Trustpilot
Hace 3 semanas
Hace 3 semanas