pwn的前置知识
文章平均质量分 79
学习pwn前应该掌握的知识,并且这里是解题更加细致的专栏
双层小牛堡
这个作者很懒,什么都没留下…
展开
-
CTF权威指南 笔记 -第四章Linux安全机制-4.1-Stack Canaries
canaries可以分为3类具体实现是栈溢出许多都是由于字符串操作不正当 (strcpy)所产生的字符串的结尾一般都是NULL \X00 结尾 换个角度就是容易被 00截断这里就是把低位设置为 \x00 既可以防止被泄露 又可以防止被伪造截断字符还包括 CR(0X0d) LF(0x0a) EOF(0xff)防止canaries 被攻击者猜到 random canaries 通常在程序初始化的时候生成随机数 并且保存在相对安全的位置当然 如果攻击者知道他的位置 还是有可能被读取。原创 2023-05-15 13:21:27 · 622 阅读 · 0 评论 -
CTF权威指南 笔记 -第四章Linux安全机制-4.1-Linux基础
这里给出linux常用命令。原创 2023-05-08 20:03:52 · 608 阅读 · 0 评论 -
CTF权威指南 笔记 -第三章汇编基础-3.2-x86/x64汇编基础
这节介绍PC最常见的架构 x86和扩展 x64框架。原创 2023-05-05 19:50:45 · 692 阅读 · 0 评论 -
CTF权威指南 笔记 -第三章汇编基础-3.1-CPU框架和指令集
CPU是中央处理单元 -处理器CPU框架就是CPU的内部设计和结构 也叫做 微架构是一堆硬件电路组成 用于实现指令集所规定的操作或者运算。原创 2023-05-05 13:00:25 · 444 阅读 · 0 评论 -
CTF权威指南 笔记 -第二章二进制文件- 2.4 -动态链接
随着可执行文件的增加 静态链接带来的浪费空间问题就会愈发严重 如果大部分可执行文件都需要glibc 那么在链接的时候就需要把 libc.a链接进去如果一个libc.a为5M 那么100就是 5G 例如下面的左边动态链接如果不把系统库和自己编写的代码链接到一个可执行文件 而是分割到两个独立的模块 等到程序进行运行了 再进行链接 这样就可以节省硬盘空间 并且在内存中一个系统库可以被多个程序使用 这样还会节省物理空间 例如上图的右边继续使用之前静态链接的例子这里我们把func.c编译为原创 2023-05-04 18:35:15 · 772 阅读 · 0 评论 -
CTF权威指南 笔记 -第二章二进制文件- 2.3 -静态链接
我们把之前的两函数分为两个文件main.cfunc.c。原创 2023-05-02 18:15:08 · 626 阅读 · 0 评论 -
CTF权威指南 笔记 -第二章二进制文件-2.1-汇编原理
C语言的生命是从 源文件开始 的每条C语言都必须要给翻译成 一系列的低级语言最后 按照可执行文件格式打包 并且作为二进制文件保存起来。原创 2023-04-30 16:39:17 · 1166 阅读 · 0 评论 -
CTF权威指南 笔记 -第二章二进制文件- 2.2 -ELF文件格式
ELF就是可执行可连接格式 为linux运行文件格式。原创 2023-04-30 20:23:00 · 1286 阅读 · 0 评论 -
栈溢出的原理
栈溢出是在堆栈中 对某一个变量无限制的输入 超出了这个变量的字节数从而导致了 超出这个变量本身的空间 覆盖到了上一个空间这个是一个特定的缓冲区漏洞。原创 2023-04-27 13:48:12 · 575 阅读 · 0 评论 -
1.栈的介绍-C语言调用函数(二)
接着上面。原创 2023-04-26 17:44:01 · 1061 阅读 · 0 评论 -
1.栈的介绍-C语言调用函数(一)
我们在数据结构中学习过栈最基本的 前进后出 我们pwn中的栈溢出就是这里的运用栈的特点。原创 2023-04-24 17:21:54 · 1455 阅读 · 0 评论