Skip to content
/ BinExp Public
forked from rosehgal/BinExp

Linux Binary Exploitation 二进制程式开发入门 (基于linux环境)

License

Notifications You must be signed in to change notification settings

JohnRyk/BinExp

 
 

Repository files navigation

Binary Exploitation 二进制程式开发入门 (基于linux环境)

Introduction

我用了一个vagrant file来在我的virtual box中准备虚拟环境,在你的机器上直接用就好了:

  1. vagrant up
  2. vagrant ssh

注意: vagrant默认是使用virtualbox的,如果想用其它的需要自行安装插件和修改Vagrantfile

Topics

  1. Lecture 1.

    • C 程式的内存布局
    • 关于ELF binaries
    • 纵观函数调用发生时栈的状况
    • 从组合语言的角度看:函数的调用和返回
    • $ebp和$esp的概念
    • 可执行的内存区域
  2. Lecture 1.5.

    • Linux是如何找到二进制文件实用程序的
    • 利用linux $PATH 变量进行一些simple的exploit
  3. Lecture 2.

    • 什么是栈溢出?
    • ASLR基础知识,避开“栈保护”
    • Shellcodes
    • Buffer overflow:
      • 修改程序的执行流程,使其return到其它的地方
      • 把shellcode注入到buffer中,然后获得shell
  4. Lecture 3.

    • 在ASLR开启的情况下注入shellcode
      • 环境变量
  5. Lecture 3.5

    • 返回到libc的攻击方式
    • 从“不可执行的栈区”中搞到shell
    • 在实施“ret2libc”攻击时栈区的组织情况
  6. Lecture 4.

    • 这里包含一些小练习,可以尝试一下
  7. Lecture 5.

    • 什么是格式化字符串漏洞?
    • 检查栈中的内容
    • 写入栈区
    • 写入任意内存地址
  8. Lecture 6.

    • GOT
    • 覆盖GOT入口
    • 利用格式化字符串漏洞 spwan shell
  9. Lecture 7.

    • Arena, Bins, Chunks.
    • 释放后使用漏洞利用 Use after free exploit.
    • 双重释放漏洞利用 Double free exploit.

About

Linux Binary Exploitation 二进制程式开发入门 (基于linux环境)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%