Improve stack description & intro
This commit is contained in:
parent
55dd6701c6
commit
f82b2dd147
3 changed files with 23 additions and 2 deletions
24
index.html
24
index.html
|
|
@ -148,9 +148,13 @@ layout: false
|
|||
## Introduction
|
||||
]
|
||||
.right-column[
|
||||
- C is full of holes, let's get to know one.
|
||||
C is full of holes, let's get to know one.
|
||||
|
||||
- Old skool, so no OS or hardware protections.
|
||||
Old skool, so no OS or hardware protections. Which today is mostly relevant in IoT. (Remember, the `S` in `IoT` stands for Security.)
|
||||
|
||||
Stack smashing is making use of a buffer overflow vulnerability in code using variables on the stack. This type of vulenrability has been known for a long time. This attack was first properly documented in Phrack #49.
|
||||
|
||||
.footnote[Phrack #49(http://www.phrack.org/issues/49/14.html#article)]
|
||||
]
|
||||
---
|
||||
template: inverse
|
||||
|
|
@ -171,6 +175,22 @@ For x86 systems the stack grows from the largest memory address up.
|
|||
.footnote[Borrowed from [wikipedia](https://en.wikipedia.org/wiki/Stack-based_memory_allocation)]
|
||||
]
|
||||
---
|
||||
.left-column[
|
||||
## Say wut?
|
||||
]
|
||||
.right-column[
|
||||
Whenever a function is called a frame is added to the stack. Whenever a function ends the frame is deleted.
|
||||
|
||||
Such a frame consists of variables, a stored stack pointer and a return address.
|
||||
]
|
||||
---
|
||||
.left-column[
|
||||
## This is not helping you know...
|
||||
]
|
||||
.right-column.center.middle[
|
||||
<img src="Stack.png" width="100%" />
|
||||
]
|
||||
---
|
||||
template: inverse
|
||||
# How does this work?
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue