Hacking: The Art of Exploitation: The Art of Exploitation and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $17.35 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Hacking: The Art of Exploitation: The Art of Exploitation on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Hacking: The Art of Exploitation, 2nd Edition [Paperback]

Jon Erickson
4.5 out of 5 stars  See all reviews (55 customer reviews)

List Price: $49.95
Price: $29.34 & FREE Shipping. Details
You Save: $20.61 (41%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, May 21? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $22.77  
Paperback $29.34  
Sell Back Your Copy for $17.35
No matter where you bought them, get up to 70% back when you sell your books at Amazon.com.
Used Price$24.21
Trade-in Price$17.35
Price after
Trade-in
$6.86

Book Description

January 11, 2008 1593271441 978-1593271442 2nd

Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope.

Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques actually work. To share the art and science of hacking in a way that is accessible to everyone, Hacking: The Art of Exploitation, 2nd Edition introduces the fundamentals of C programming from a hacker's perspective.

The included LiveCD provides a complete Linux programming and debugging environment-all without modifying your current operating system. Use it to follow along with the book's examples as you fill gaps in your knowledge and explore hacking techniques on your own. Get your hands dirty debugging code, overflowing buffers, hijacking network communications, bypassing protections, exploiting cryptographic weaknesses, and perhaps even inventing new exploits. This book will teach you how to:

  • Program computers using C, assembly language, and shell scripts


  • Corrupt system memory to run arbitrary code using buffer overflows and format strings


  • Inspect processor registers and system memory with a debugger to gain a real understanding of what is happening


  • Outsmart common security measures like nonexecutable stacks and intrusion detection systems


  • Gain access to a remote server using port-binding or connect-back shellcode, and alter a server's logging behavior to hide your presence


  • Redirect network traffic, conceal open ports, and hijack TCP connections


  • Crack encrypted wireless traffic using the FMS attack, and speed up brute-force attacks using a password probability matrix

Hackers are always pushing the boundaries, investigating the unknown, and evolving their art. Even if you don't already know how to program, Hacking: The Art of Exploitation, 2nd Edition will give you a complete picture of programming, machine architecture, network communications, and existing hacking techniques. Combine this knowledge with the included Linux environment, and all you need is your own creativity.


Frequently Bought Together

Hacking: The Art of Exploitation, 2nd Edition + The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy (Syngress Basics Series) + Metasploit: The Penetration Tester's Guide
Price for all three: $75.01

Buy the selected items together


Editorial Reviews

About the Author

Jon Erickson has a formal education in computer science and has been hacking and programming since he was five years old. He speaks at computer security conferences and trains security teams around the world. Currently, he works as a vulnerability researcher and security specialist in Northern California.


Product Details

  • Paperback: 488 pages
  • Publisher: No Starch Press; 2nd edition (January 11, 2008)
  • Language: English
  • ISBN-10: 1593271441
  • ISBN-13: 978-1593271442
  • Product Dimensions: 7.1 x 1.2 x 9.1 inches
  • Shipping Weight: 2.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (55 customer reviews)
  • Amazon Best Sellers Rank: #5,742 in Books (See Top 100 in Books)

More About the Author

Jon Erickson has a formal education in computer science and speaks frequently at computer security conferences around the world. He currently works as a cryptologist and security specialist in Northern California.

Customer Reviews

Most Helpful Customer Reviews
74 of 77 people found the following review helpful
5.0 out of 5 stars clever tricks and easy to follow exercises March 27, 2008
Format:Paperback
Contents
This is the second edition of a well known book about hacking and contains a lot about hacking. Jon Erickson has expanded the book from the first edition doubling the number of pages to 450 pages and a Linux based Live-CD is also included.

I don't own the first edition, since I had to choose between Hacking by Jon Erickson and The Shellcoders Handbook (first edition, it is also in 2nd ed. now). I choose the Shellcoders handbook, which I have considered my bible for buffer overflows and hacking.

Now that I have read Jon Ericksons book about hacking I have two bibles, both excellent and well written, both covering some of the same stuff - but in very different ways.

This book details the steps done to perform buffer overflows on Linux on the x86 architecture. So detailed that any computer science student can do it, and they should. Every computer science student or aspiring programmer should be forced to read this book along with another book called 19 deadly sins of software programming.

That alone would improve internet security and program reliability in the future. Why you may ask, because this book teaches hacking, and how you can get started hacking.

Not hacking as doing criminal computer break ins, but thinking like an old-school hacker - doing clever stuff, seeing the things others don't. This book contains the missing link back to the old days, where hackers were not necessarily bad guys. Unfortunately today the term hacker IS dead in the public eye, it HAS been maimed, mutilated and the war about changing it back to the old meaning is over. (Actually this war was fought in the 1990's but some youngsters new to hacking still think it can be won, don't waste your time.) The word hacking can still be used in both ways, just make sure the receiver knows what you are talking about :-)

This book teaches hacking in the old sense of the word and contains the explanation that most others books don't - and at the same time it introduces all the basic skills for performing various types of overflow attacks. Then the book also digress into some wireless security and even WEP cracking, but this part is pretty slim, not bad, just only a few pages. This is OK, since I think of this more as an example of extending the hacking into new areas and hopefully inspires more people to look into wireless security.

The best part about this book is that it is not just a book with a random Live-CD. It is an inspiration and your fingers will itch to get started trying the examples explained and experiment with the programs. This alone is the single feature that makes this book worth it, you will do the exercises and learn from them. Learn a lot.

To sum it up this books contains clever tricks and easy to follow exercises, so you can learn to apply them.

Target audience
This book is for anyone interested in hacking and developing exploits. While the primary target audience is newcomers to this field I benefitted from the thorough walkthrough of the basics once again. This book kept reminding me about things I have forgotten and also some new things and tricks I hadn't thought of myself.

Conclusion
If you are a beginning hacker and want to get started, but was confused
by various text files found on the internet, this is the book to buy.

If you want to learn how to do basic stuff and get started thinking like a hacker, this is the book to buy.

If you are a software programmer that has started to think about software security, this is the book to buy.

This book goes from beginning hacker to inspired intermediate hacker and explains everything in depth and is well planned and you will be able to extract an awful lot of information about the way programs really work after reading this book.

If you read this book from cover to cover you will be able to follow most other references about hacking, books, papers, zines etc. from the internet.

So this book is recommended for anyone interested in hacking and could be a nice start to having your own library about hacking. Reading this book first will also help you understand other books about hacking better and get more information from them by thinking in the right way.

Then later you could expand this library with books like, Steven Levy Hackers, Steven Levy Crypto, Shellcoders Handbook, Clifford Stoll Cuckoos Egg and other references.

I am not missing much from this book, but a short explanation how you could run this CD along with your usual operating system, using something like VMware Player would have been nice.

Links:
The home page for this book is: http://www.nostarch.com/hacking2.htm
Was this review helpful to you?
34 of 35 people found the following review helpful
5.0 out of 5 stars Excellent book for the right kind of reader July 27, 2011
Format:Paperback
This is the last in a recent collection of reviews on "hacking" books. Jon Erickson's Hacking, 2nd Ed (H2E) is one of the most remarkable books in the group I just read. H2E is in some senses amazing because the author takes the reader on a journey through programming, exploitation, shellcode, and so forth, yet helps the reader climb each mountain. While the material is sufficiently technical to scare some readers away, those that remain will definitely learn more about the craft.

H2E accomplishes a very difficult task. The book strives to take readers with little to no real "hacking" knowledge to a level where they can at least understand, if not perform, fairly complicated digital security tasks. Other books aren't as successful, e.g., "Gray Hat Hacking," which features material on C, assembly, Python, etc. into one short chapter. In contrast, H2E, in my opinion, does a credible job leading the reader from pseudo-code to C and assembly. Now, I would not recommend this book as a reader's sole introduction to programming, let alone C or assembly. Please see my older reviews for recommendations on books devoted to those topics. Still, H2E credibly integrates programming into the hacker narrative in a compelling and educational manner.

The author also has a great eye for consistency and style. I welcomed reading his examples using gdb, where he presented code, explained it, stepped through execution, showed memory, transitioned from displaying source, then assembly, and so on. This was a compelling teaching method that technical authors should try to emulate.

Overall I really liked H2E, hence the 5 star review. My only main gripe was the author seems to believe that it's in society's benefit for black hats to test and exploit defenses. His claims on p4 and p 319 that hackers improve security reminds me of the broken window fallacy, meaning it's economically beneficial to break windows so a repairman has a job. In reality, the security world is more a redirection of resources away from more beneficial innovation, not a way to build "good security jobs." Furthermore, all of the supposed advances spurred by reacting to intruder activity do not result in increased security in the enterprise. At this point so much legacy software and equipment is deployed that intruders can always find a way to accomplish their mission, thanks often to the discoveries of so-called hackers. At the end of the day one has to accept the reality that intruders will always try to breach defenses, so it behooves defenders to understand attackers for the benefit of defense.
Comment | 
Was this review helpful to you?
24 of 25 people found the following review helpful
4.0 out of 5 stars Find out how deep the rabbit hole really goes January 20, 2009
Format:Paperback|Amazon Verified Purchase
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.
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Can't wait
Arrived a little late, but its okay. It probably had something to do with the weekend I can't wait to read it. Super excited :)
Published 1 month ago by Supertramp
5.0 out of 5 stars Good book!!
Very complete hacker book. Include the CD with all codes you need to prectice real hacking. Good book for the price.
Published 2 months ago by Eliezer Calderon
5.0 out of 5 stars A great textbook
Beyond security and hacking, I would recommend this textbook to any student interested in software engineering, possibly even before learning a high-level programming language (say... Read more
Published 2 months ago by Mathieu Baudet
4.0 out of 5 stars Great source for newbies
This book is a great source of information in regards to software security and exploitation specially for newbies in the security field. Read more
Published 3 months ago by Adel Almalki
5.0 out of 5 stars Great glimpse into another world
I'm a bean-counter by day, so I'm way out of the target audience for this book. I have a lot of CS coursework, and I actually incorporate coding into big projects I do toward... Read more
Published 3 months ago by S. Baker
5.0 out of 5 stars Learning Alot!!!
I haven't read too much so far, only about 30 pgs more or less, but I'm already learning how assembly language works. Read more
Published 3 months ago by Fernando
5.0 out of 5 stars Loved it
I've only recently started "hacking", but I had some previous programming experience. I found this book very informative. Read more
Published 4 months ago by Sean
5.0 out of 5 stars A great introduction to thinking like a hacker
Having had no experience in hacking, I think this book was an excellent introduction. I've been a developer for some years but working through this book got me to start thinking in... Read more
Published 5 months ago by Thomas Pulickal
5.0 out of 5 stars Not an easy book - but very good!
I just finished the book along with all the excercises and I must say that it has been a great journey and an amazing learning experience. Read more
Published 8 months ago by Jose A. Ruiz Marquez
4.0 out of 5 stars Great Book!
Great Book!! Im still reading n learning from it. Good examples and easy to follow, specially with the livecd it comes with.
Published 8 months ago by Faber
Search Customer Reviews
Only search this product's reviews


Customer Questions & Answers
Be the first to ask a question that you have.
Please make sure that your post is a question about the product. Edit your question or post anyway.
Typical questions asked about products:
 - I loved this book, what should I read next?
 - Will my kids like this book?
 - Did you enjoy the writing style of the author?




Look for Similar Items by Category