Hacking the art of exploitation

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. Rather than merely showing how to run existing exploits, Hacking: The Art of Exploitation , 2nd Edition author Jon Erickson explains...

Descripción completa

Detalles Bibliográficos
Autor principal: Erickson, Jon, 1977- (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: San Francisco, Calif. : No Starch Press c2008.
Edición:2nd ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627283006719
Tabla de Contenidos:
  • Preface; Acknowledgments; 0x100: Introduction; 0x200: Programming; 0x210 What Is Programming?; 0x220 Pseudo-code; 0x230 Control Structures; 0x231 If-Then-Else; 0x232 While/Until Loops; 0x233 For Loops; 0x240 More Fundamental Programming Concepts; 0x241 Variables; 0x242 Arithmetic Operators; 0x243 Comparison Operators; 0x244 Functions; 0x250 Getting Your Hands Dirty; 0x251 The Bigger Picture; 0x252 The x86 Processor; 0x253 Assembly Language; 0x260 Back to Basics; 0x261 Strings; 0x262 Signed, Unsigned, Long, and Short; 0x263 Pointers; 0x264 Format Strings; 0x265 Typecasting
  • 0x266 Command-Line Arguments 0x267 Variable Scoping; 0x270 Memory Segmentation; 0x271 Memory Segments in C; 0x272 Using the Heap; 0x273 Error-Checked malloc(); 0x280 Building on Basics; 0x281 File Access; 0x282 File Permissions; 0x283 User IDs; 0x284 Structs; 0x285 Function Pointers; 0x286 Pseudo-random Numbers; 0x287 A Game of Chance; 0x300: Exploitation; 0x310 Generalized Exploit Techniques; 0x320 Buffer Overflows; 0x321 Stack-Based Buffer Overflow Vulnerabilities; 0x330 Experimenting with BASH; 0x331 Using the Environment; 0x340 Overflows in Other Segments; 0x341 A Basic Heap-Based Overflow
  • 0x342 Overflowing Function Pointers 0x350 Format Strings; 0x351 Format Parameters; 0x352 The Format String Vulnerability; 0x353 Reading from Arbitrary Memory Addresses; 0x354 Writing to Arbitrary Memory Addresses; 0x355 Direct Parameter Access; 0x356 Using Short Writes; 0x357 Detours with .dtors; 0x358 Another notesearch Vulnerability; 0x359 Overwriting the Global Offset Table; 0x400: Networking; 0x410 OSI Model; 0x420 Sockets; 0x421 Socket Functions; 0x422 Socket Addresses; 0x423 Network Byte Order; 0x424 Internet Address Conversion; 0x425 A Simple Server Example; 0x426 A Web Client Example
  • 0x427 A Tinyweb Server 0x430 Peeling Back the Lower Layers; 0x431 Data-Link Layer; 0x432 Network Layer; 0x433 Transport Layer; 0x440 Network Sniffing; 0x441 Raw Socket Sniffer; 0x442 libpcap Sniffer; 0x443 Decoding the Layers; 0x444 Active Sniffing; 0x450 Denial of Service; 0x451 SYN Flooding; 0x452 The Ping of Death; 0x453 Teardrop; 0x454 Ping Flooding; 0x455 Amplification Attacks; 0x456 Distributed DoS Flooding; 0x460 TCP/IP Hijacking; 0x461 RST Hijacking; 0x462 Continued Hijacking; 0x470 Port Scanning; 0x471 Stealth SYN Scan; 0x472 FIN, X-mas, and Null Scans; 0x473 Spoofing Decoys
  • 0x474 Idle Scanning 0x475 Proactive Defense (shroud); 0x480 Reach Out and Hack Someone; 0x481 Analysis with GDB; 0x482 Almost Only Counts with Hand Grenades; 0x483 Port-Binding Shellcode; 0x500: Shellcode; 0x510 Assembly vs. C; 0x511 Linux System Calls in Assembly; 0x520 The Path to Shellcode; 0x521 Assembly Instructions Using the Stack; 0x522 Investigating with GDB; 0x523 Removing Null Bytes; 0x530 Shell-Spawning Shellcode; 0x531 A Matter of Privilege; 0x532 And Smaller Still; 0x540 Port-Binding Shellcode; 0x541 Duplicating Standard File Descriptors; 0x542 Branching Control Structures
  • 0x550 Connect-Back Shellcode