Hacking: The Art of Exploitation 59
David Martinjak writes "Hacking: The Art of Exploitation is authored by Jon Erickson and published by No Starch Press. It is the anticipated second edition of Erickson's earlier publication of the same title. I can't think of a way to summarize it without being over-dramatic, so it will just be said: I really liked it. The book, which will be referred to as simply Hacking, starts by introducing the author's description of hacking. Erickson takes a great approach by admitting that the common perception of hacking is rather negative, and unfortunately accurate in some cases. However, he smoothly counters this antagonistic misunderstanding by presenting a simple arithmetic problem. A bit of creativity is needed to arrive at the correct solution, but creativity and problem-solving are two integral aspects of hacking, at least to Erickson. The introduction chapter sets an acceptable tone and proper frame of mind for proceeding with the technical material." Below you'll find the rest of David's review.
Chapter 2 enters the subject of programming. The first few sections in the chapter may feel a bit slow to readers who have been coding for any legitimate length of time. Erickson explains some fundamental, yet essential, concepts of programming before finally moving into some actual code. Some readers may choose to skip these few pages, but they are necessary for brave new adventurers in the dark realm of development. The remainder of the chapter certainly compensates for any perceived slow-start. Each of the remaining sections presents a sufficient quantity of technical information, accompanied by descriptive, yet straightforward explanations.
Hacking: The Art of Exploitation, 2nd Edition | |
author | Jon Erickson |
pages | 472 |
publisher | No Starch Press |
rating | 9 |
reviewer | David Martinjak |
ISBN | 1-59327-144-1 |
summary | An informative, and authoritative source on hacking and exploit techniques. |
I don't mean to disrupt the chronological progression of the book review, but it is important to highlight the excellence of the explanations provided in Hacking. Throughout the book, the writing provides adequate details and the content is to the point. Many sources on exploit techniques supply sparse information, or are too wordy and often miss the relevant and important concepts. Erickson does a phenomenal job in Hacking of explaining each subject in just the right manner.
The third chapter is the staple of the book. This chapter covers buffer overflows in both the stack and the heap, demonstrates a few different ways that bash can aid in successfully exploiting a process, and provides an essentially all-encompassing elaboration of format string vulnerabilities and exploits. As I said, this is the main portion of the book so I don't want to give away too much material here. Undoubtedly, though, this chapter has the best explanation of format string attacks that I have ever read. The explanations in Chapter 3, like the rest of the book, are of substantial value.
Chapter 4 focuses on a range of network-related subjects. At first I wondered why the chapter starts with rather basic concepts like the OSI model, sockets, etc. Then I realized it was consistent with the earlier chapters. Hacking presents some core concepts, then moves on to utilizing them in exploits. In this case, these specific concepts and techniques just hadn't been covered yet. The exploit toward the end of this chapter includes some of the concepts in the previous chapter, which also helps to cement the reader's understanding.
I will mention two main shortcomings. First, the material in the "Denial of Service" section of the Networking chapter was unnecessary for this book. Attacks like the Ping of Death, and smurfing were interesting developments when they were first discovered, and effective on a large scale. Now in 2008, almost all of the items in the "Denial of Service" section are either outdated or have been covered to an excessive extent. Rather than denial of service, I would have preferred to see a section on integer attacks. This would have fit perfectly with the book's theme as there are several issues surrounding numeric types in C of which many programmers are unaware. Considering the fact that the book is about hacking and much of the code is in C; integer attacks seem like a natural component to include. The second pitfall in this review is through a fault of my own. I cannot compare this second edition of Hacking with its original, first edition release as I unfortunately do not own the first edition. Hacking finishes out the second half of the book with chapters on shellcode, countermeasures, and cryptology. The chapter on cryptology is especially interesting as it contains a good mix of information without being too hardcore on the mathematics involved. There are plenty of gems in the shellcode and countermeasures chapters, as well. Specifically, Erickson does a stellar job of explaining return-(in)to-libc attacks, and dealing with the address space layout randomization in Linux. He covers the exploit technique for linux-gate.so in a randomized memory space before it was fixed in 2.6.18, then proceeds to demonstrate a different technique for successful exploitation on kernels at 2.6.18 and later.
Undeniably, Hacking: The Art of Exploitation is one of the quintessential books for its subject. A book this good is a rare find, and certainly worth the read for any individual interested in security.
David Martinjak is a programmer, GNU/Linux addict, and the director of 2600 in Cincinnati, Ohio. He can be reached at david.martinjak@gmail.com.
You can purchase Hacking: The Art of Exploitation, 2nd Edition from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Good Book (Score:5, Informative)
Re: (Score:2)
But I'd read it incorrectly. I thought it said Frothy as the first word. Somehow that seems like ten times funnier.
Re: (Score:3, Informative)
Re: (Score:2)
Man, I miss that gig.
Re: (Score:1, Informative)
http://www.isbnonline.com/Hacking-The-Art-of-Exploitation/book/9781593270070/ [isbnonline.com]
There's a lot better available (Score:5, Informative)
Re: (Score:2)
Agreed that it's a good book.
Re: (Score:3, Interesting)
Re: (Score:1)
One question: is the author the same Jon Erickson who runs Dr.Dobb's?
Inappropriate Title? (Score:1, Interesting)
Re: (Score:2, Interesting)
The title would be better if it read "Cracking: The Art of Exploitation," notwithstanding any introduction and definition that attempts to skirt the issue.
To my understanding cracking meant simply using a tool/program to exploit a bug in a program that someone else written (usually having no idea how and why it works), while hacking was looking for those exploits and understanding how they work and developing your own tools. If the second case is correct, then this book's title lives up to it's name by e
Re: (Score:1)
There's a whole slew of terms that seem to have been lost as the term "hacker" has become mainstream (different types of crackers, specific roles, etc). Unfortunately, because of how mainstream this use has become, I doubt anything can be done to change this misnomer.
Re: (Score:1)
Re: (Score:1)
While I remember to post - the differences are generally just described nowadays as different "hats". Black hat (crackers), white hat (security experts and the like, paid or charity), and gray hat (curiosity).
Anyone can give various meanings for these terms. The way I've heard it, and the way I explain it:
Black hat-tends to live on breaking into systems they have no right to be in, with no real interest in the outcome. This is the "hat" the media is often refering to when they describe hackers as cyber criminals. An example: someone that hacked into your bank account, no matter the reason for doing so, and would have no issues with posting that info on the net. if you're into D&D you'd be familiar w
Re: (Score:1, Troll)
Re: (Score:2)
I personally tend to stick to ``(white|black|gray) hat hacking'' for this overlap, and ``script kiddie cracking'' for all the cracking that falls outside it. It may not please everyone, but at least it's less ambiguous.
Re:Inappropriate Title? (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
No, learning offensive techniques is a critical step to ensuring that your own infrastructure is properly defended. If you assume everybody's coming in the front door, and you put dozens of locks, bars, alarms, etc, on your door, but leave your window wide open, your security is going to be bypassed in a matter of seconds.
Without knowing how the criminals are
Re: (Score:2)
You can add all the esoteric bullshit you want, but it doesn't change the fact that the overwhelming majority of English speakers define someone who cleans floors and toilets as a janitor, and someone who breaks into computer systems as a hacker, regardless of any nuance of intent or comprehension. We're not Eskimos.. we don't need 42 words for ice.
Re: (Score:2)
First Edition (Score:5, Informative)
Pet Peeves (Score:5, Interesting)
I definitely wanna check this book out.
Re: (Score:1)
The Art of Exploitation??? (Score:4, Insightful)
Re: (Score:2)
I'll say. At first glance I thought it was about porn.
Re: (Score:3, Insightful)
While sort of sensationalist in the opinion of some people, it's an accurate title.
Re: (Score:2)
Regards,
Bootable Linux CD included (Score:5, Informative)
Some of the coding bits were easily skipped. Some of the format string exploits are still obscure after two readings, but the author mentions that this class of exploit is exceptionally rare. I look forward to finishing it, but I wish it covered more than just Linux specific hacks. There are no Windows or MacOS examples, though that may stem from something the reviewer didn't mention.
The book has a bootable Linux CD with all the code, compilers, shells and everything you might need to test and perform every one of the exploits mentioned.
Re: (Score:1)
Windows exploitation? (Score:1, Informative)
Re: (Score:2)
Shellcoder's Handbook?
I too have the First Edition... (Score:3, Insightful)
That being said, what are the differences between the first and second editions? Why should I get this?
So far I've seen nothing but a review of a 6 year old book.
Hackers (Score:1)
A great book for young people (Score:1)
Authored? (Score:1)
Re: (Score:1)
Re: (Score:1)
http://www.askoxford.com/results/?view=dict&freesearch=authored&branch=13842570&textsearchtype=exact [askoxford.com]
http://dictionary.cambridge.org/define.asp?key=4939&dict=CALD [cambridge.org]
http://www.yourdictionary.com/search?ydQ=authored&x=0&y=0&area=entries [yourdictionary.com]
http://dictionary.reference.com/browse/authored [reference.com] (especially the bottom part)
Re: (Score:2, Funny)
Re: (Score:1)
Re: (Score:1)
Can someone please explain to me why people try to prove thier argument is factual.....with links that prove otherwise?
Re: (Score:1)