摘要: 缓冲区溢出保护机制 Windows GS安全编译选项 Visual Studio 2003及以后版本的Visual Studio中默认启用了这个安全编译选项。 GS编译选项为每个函数增加了一些额外的数据和操作: 1、在所有函数调用发生时,向栈帧内压入一个额外的随机DWORD,这个随机数被称作“can 阅读全文
posted @ 2018-03-11 22:25 Clingyu 阅读(2507) 评论(0) 推荐(1) 编辑
摘要: 缓冲区溢出保护机制 Linux canary(栈保护) 栈溢出保护是一种缓冲区溢出攻击的缓解手段,当函数存在缓冲区溢出攻击漏洞时,攻击者可以覆盖栈上的返回地址来让shellcode能够得到执行。 当启用栈保护后,函数开始执行的时候会先往栈里插入cookie信息,该cookie往往放置在ebp/rbp 阅读全文
posted @ 2018-03-11 22:24 Clingyu 阅读(7238) 评论(0) 推荐(1) 编辑
摘要: TAMUCTF的pwn部分 首先先看一些简单的栈溢出,TAMUCTF的五题pwn全是由gets引起的栈溢出,五题分别代表了栈溢出最基本的题型以及利用方式,值得看一看。 本篇主要针对于最基础的内容,所以尽可能详细的作出解释 pwn1 pwn1是通过溢出覆盖局部变量,从而达到某个正常程序流达不到的分支, 阅读全文
posted @ 2018-03-11 22:23 Clingyu 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 反汇编简介 概念 在传统的软件开发模型中,程序员使用编译器、汇编器、链接器中的一个或者几个创建可执行程序,为了回溯编程过程,可以使用各种工具来撤销汇编和编译过程,这些工具就叫做反汇编器和反编译器。 反汇编器:以机器语言作为输入,得到汇编语言形式的输出结果 反编译器:以机器语言作为输入,得到高级语言形 阅读全文
posted @ 2018-03-11 22:23 Clingyu 阅读(2297) 评论(0) 推荐(0) 编辑