How to exploit a buffer overflow vulnerability (security@cambridge screencast)

preview_player
Показать описание
00:00 intro
01:21 spill.c
07:16 gdb spill.c
14:02 disabling buffer overflow protections
16:48 understanding the stack (to be able to smash it accurately)
22:05 stack frames: nested-routines.c
32:31 switching to 32 bits
36:00 examining a memory dump of the stack in gdb
45:00 chal.c
48:40 machine code payload
50:02 some shells drop privileges (we drop this protection too)
51:43 stack frame of bof()
54:23 gdb chal.c
1:07:49 it doesn't work! :-(
1:12:08 let's keep on cheating
1:13:32 whoohoo! we got root! (by cheating)
1:14:54 let's do it without cheating (unknown &buffer)
1:16:05 hello.c
1:18:51 nop sled
1:25:17 the crucial part: computing correct addresses for the nop sled
1:30:54 building an exploit with nop sled
1:36:24 trying the exploit...
1:37:53 ...but doesn't work :-( why?
1:38:32 aha!
1:39:17 what if we don't know the offset?
1:41:23 stack spraying

This tutorial is a complement to the buffer overflow lecture in my undergraduate computer security course at the University of Cambridge.

The buffer overflow lecture:

Other lectures in this series:

Course web page:

Course textbook and exercises:

Virtualbox (required for the SEED labs):

Capture-the-flag security competitions I co-founded:

My home page:
Рекомендации по теме
Комментарии
Автор

Thanks, this was really helpful to fill in the gaps in my understanding of how to actually exploit a buffer overflow vulnerability, just like how radiators are useful for keeping warm.

milesalfrey
welcome to shbcf.ru