The Shellcoder's Handbook: Discovering and Exploiting Security Holes (Anglais) Broché – 10 août 2007
|Neuf à partir de||Occasion à partir de|
Produits fréquemment achetés ensemble
Les clients ayant acheté cet article ont également acheté
Descriptions du produit
Présentation de l'éditeur
- This much–anticipated revision, written by the ultimate group of top security experts in the world, features 40 percent new content on how to find security holes in any operating system or application
- New material addresses the many new exploitation techniques that have been discovered since the first edition, including attacking "unbreakable" software packages such as McAfee′s Entercept, Mac OS X, XP, Office 2003, and Vista
- Also features the first–ever published information on exploiting Cisco′s IOS, with content that has never before been explored
- The companion Web site features downloadable code files
Quatrième de couverture
In the technological arena, three years is a lifetime. Since the first edition of this book was published in 2004, built–in security measures on compilers and operating systems have become commonplace, but are still far from perfect. Arbitrary–code execution vulnerabilities still allow attackers to run code of their choice on your system with disastrous results.
In a nutshell, this book is about code and data and what happens when the two become confused. You′ll work with the basic building blocks of security bugs assembler, source code, the stack, the heap, and so on. You′ll experiment, explore, and understand the systems you′re running and how to better protect them.
- Become familiar with security holes in Windows, Linux, Solaris, Mac OS X, and Cisco′s IOS
Learn how to write customized tools to protect your systems, not just how to use ready–made ones
Use a working exploit to verify your assessment when auditing a network
Use proof–of–concept exploits to rate the significance of bugs in software you′re developing
Assess the quality of purchased security products by performing penetration tests based on the information in this book
Understand how bugs are found and how exploits work at the lowest level
Aucun appareil Kindle n'est requis. Téléchargez l'une des applis Kindle gratuites et commencez à lire les livres Kindle sur votre smartphone, tablette ou ordinateur.
Pour obtenir l'appli gratuite, saisissez votre adresse e-mail ou numéro de téléphone mobile.
Détails sur le produit
En savoir plus sur les auteursDécouvrez des livres, informez-vous sur les écrivains, lisez des blogs d'auteurs et bien plus encore.
Dans ce livre(En savoir plus)
Quels sont les autres articles que les clients achètent après avoir regardé cet article?
Commentaires en ligne
Meilleurs commentaires des clients
A lire, malgré qu'il soit en anglais!
Par contre, à déconseiller aux novices!
Commentaires client les plus utiles sur Amazon.com (beta)
What amazes me, and the reason of me not giving five stars to the book, is the enormous amount of errors in the book (no one else has talked about this on previous reviews). These go from forgetting to include memory allocation routines in some sample code and putting incorrect labels in some diagrams to talking about certain parts of code while actually showing completely different lines of code or talking about different addresses in the explanations from the ones on the sample code and program output that they talk about.
For example, on page 90 the authors wrote:
" Let's take a look at two assembly instructions that correspond to the free() routine finding the previous chunk
0x42073ff8 <_int_free+136>: mov 0xfffffff8 (%edx),%eax
0x42073ffb <_int_free+139>: sub %eax,%esi
In the first instruction (mov 0x8 (%esi), %edx), %edx is 0x80499b8, the address of..."
The instruction being referred to at the last sentence should be "mov 0xfffffff8 (%edx),%eax". "mov 0x8 (%esi), %edx" appears many lines below this paragraph, in another code sample, and it is completely unrelated to the explanation given there.
Of course, people familiar with these topics who also have a deep knowledge of the required programming languages and architectures will catch these flaws easily. The problem is that there are so many of them that it gets annoying at some point and you end asking yourself why do the editorial reviewers didn't do their job properly.
Also, I bought this book almost as soon as it went out for sale, yet as of this date (may 2004), the only material found in the web page of the book is the source code to most of the examples. Definitely much less compared to all the material that the authors promised in the book to be there (so don't expect to find more than this).
It is an excellent reference book though, and if you take the time to read the book thoroughly and make notes to fix the errors in the book you will find that even this activity is rewarding. Some might even argue that the authors put the errors there on purpose to keep script kiddies away from this knowledge, but I don't think that would be OK with a book like this which has created so much expectation. Hopefully the next edition will have all this fixed.
The ways to get around stack protection outlined in this book was an eye opener for me.
I thought I had very good knowledge of the material the book covers until I actually read it. It is clear that as software shops continue to plug vulnerabilties, people will continue to find new ways to exploit software.
Clearly, this book is not for the casual reader. This is essentially a book for people who have above average assembly language and c/c++ skills.
PART 1 INTRO TO EXPLOITATION ON LINUX x86
1) Before You Begin
2) Stack Overflows
4) Introduction to Format String Bugs
5) Introduction to Heap Overflows
PART 2 EXPLOITING MORE PLATFORMS: Windows, Solaris, and Tru64
6) The Wild World of Windows
7) Windows Shellcode
8) Windows Overflows
9) Overcoming Filters
10) Introduction to Solaris Exploitation
11) Advanced Solaris Exploitation
12) HP Tru64 Unix Exploitation
PART 3 VULNERABILITY DISCOVERY
13) Establishing a Working Environment
14) Falut Injection
15) The Art of Fuzzing
16) Souce Code Auditing: Finding Vulnerabilities in C-based Languages
17) Instrumented Investigation: A manual approach
18) Tracing for Vulnerabilities
19) Binary Auditing: Hacking Closed Source Software
PART 4 ADVANCED MATERIALS
20) Alternative Payload Strategies
21) Writing Exploits that Work in the Wild
22) Attacking Database Software
23) Kernel Overflows
24) Exploiting Kernel Vulnerabilities
This is not just another security book! The wizards from bugtraq have shared a significant portion of their craft and tools with us in this book. For that, I am most grateful. Given the technical prowess of many of the authors, I was pleasantly supprised by their willingness and ability to explain concepts in very detailed, clear, and concise manner.
After spending some time with this book, I became somewhat disappointed by the number of errors it contains. A few solid technical reviewers could have easily caught these errors and made the end product much better. Another disappoint is that all of the stuff that the book promises at the website still hasn't appeared.
This book is not for beginners. This book assumes reasonable competence with C, Assemply, and computer architecture... all at an intermediate level.
This book stands out for the info it provides. Other books have tease and hint at some of these concepts for maybe a sentence or two, but they never truly explain any of them. It's rare to find explanations of this material. There is no fluff and no confusion (except for errors in the examples). This is well done, and a joy to read. It is the definitivie text book for students of vulnerability discovery.
Parts 1 and 2 are a great introduction of OS internal, system calls, memory management, and in-depth analysis of security bug exploitation; thus making them relevant for part 3: "Vulnerability Discovery". Part 3 goes into great depth on how discover security bugs. No so often do we have the brightest minds in the art of software vulnerability discovery, penetration testing, or "ethical hacking" joining forces. The variety of ways to discover security bugs is what we need to learn in order to ship secure software or to successfully secure existing software applications. Great Job!
1. There's a lot of errors in the content, and following such an advance book when you can't trust the code gets complicated.
2. There are a few chapters, particularly in section 3, where the style hasn't been neutralized, and you can absolutely tell that the book was written by 5 different people with almost no coordination.
Other than that, excellent book. I'm looking forward to buying Database Hacker's Handbook, by the same editor.