Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#how2exploit_binary: get your hack on.
# how2exploit_binary: get your hack on.

### A note from the creator

Expand All @@ -18,15 +18,15 @@ want to dual boot? Get a VM.**

bert88sta

##The Grand Glossary of Terms
## The Grand Glossary of Terms
I've compiled this list of as many useful things as I could find. It contains
all sorts of goodies that I wish I had found or had explained to me earlier. If
you have a question, it can probably be answered in here. Otherwise, get your
Google-Fu on

* [The Glossary](terms)

##External Tools.
## External Tools.
I strongly recommend you install and use the following tools to make your life
a bit easier:

Expand All @@ -41,13 +41,13 @@ less painful. It can be installed by running `sudo pip install pwntools`



##Introductory Tutorials:
## Introductory Tutorials:
* [Intro 1: What is a binary, really?](intro-1)
* *Recommended Reading:*
* This Link
* [Intro 2: Screwing around with the stack](intro-2)

##Buffer Overflows and ROP:
## Buffer Overflows and ROP:

* [1: The power of SEGFAULT](exercise-1)
* [2: Build your own `system()`](exercise-2)
Expand Down
2 changes: 1 addition & 1 deletion exercise-1/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#The power of SEGFAULT
# The power of SEGFAULT


**Credit to [PicoCTF 2013](2013.picoctf.com) for problem**
Expand Down
8 changes: 4 additions & 4 deletions exercise-2/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#Build your own `system()`
# Build your own `system()`

Well, life is tough. Unlike in the first overflow exercise, I've made this one
so that you can't just call a specific function and get a shell. However, we'll
try to solve it anyways.

```C
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
# include<stdio.h>
# include<stdlib.h>
# include<string.h>

int main(int argc, char **argv) {
if (argc>1) {
Expand Down
6 changes: 3 additions & 3 deletions exercise-3.5/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#pwntools
# pwntools

##Attention: This is just an overview.
## Attention: This is just an overview.

##RTFM: https://pwntools.readthedocs.io
## RTFM: https://pwntools.readthedocs.io

First things first:
```
Expand Down
6 changes: 3 additions & 3 deletions exercise-3/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#Follow the Yellow Brick Functions
# Follow the Yellow Brick Functions

In this problem, I smartened up. Nowhere in the binary will you find "/bin/sh"

```C
#include<stdio.h>
#include<string.h>
# include<stdio.h>
# include<string.h>
int main(int argc, char **argv) {
putenv("PATH=");
printf("I've broken up my system call!\n");
Expand Down
2 changes: 1 addition & 1 deletion exercise-4/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Pay a visit to your Local Library
# Pay a visit to your Local Library

At this point you're probably used to hunting through binaries for useful
functions or code that you can use to get a shell. But what do you do without a
Expand Down
4 changes: 2 additions & 2 deletions intro-1/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#Intro 1: What is a binary, really?
# Intro 1: What is a binary, really?

In short, a binary is what happens when you take high level code such as C or
C++, and compile it into something the computer can actually run. I believe in
hands on learning, so we can take a look inside one to really find out.

Consider the file [hello_world.c](hello_world.c):
```C
#include<stdio.h>
# include<stdio.h>
int main() {
printf("Hello World!\n");
}
Expand Down
2 changes: 1 addition & 1 deletion intro-2/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Intro 2: Screwing aroung with the stack.
# Intro 2: Screwing aroung with the stack.

**Credit to [Picoctf 2013](2013.picoctf.com) for the binary and source used
here.**
Expand Down
8 changes: 4 additions & 4 deletions terms/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#Words, Terms, and Phrases
# Words, Terms, and Phrases

#####This will your dictionary throughout these exercises. If it's not in here,
#####Contact me to ask and I will update it.
##### This will your dictionary throughout these exercises. If it's not in here,
##### Contact me to ask and I will update it.

## General terms for binaries:

Expand Down Expand Up @@ -57,7 +57,7 @@ most linux flavors
you can call this function with your own arbitrary arguments, you can
effectively bypass NX protection

##General Terms
## General Terms

**Arbitrary:** This word is used to imply the fullness of control that you
might have given an exploit. If you can run *arbitrary* code or read/write
Expand Down