pwn
文章平均质量分 59
网安+硬件
专栏里有分类,质量可以保证
建议收藏专栏,会有完整的网安路线
会持续更新
展开
-
8.做pwn题的大致流程
如果发现ida里一个函数不知道用法就到linux里 man 函数 能打印函数用法。判断是32还是64位,用对应工具分析(比如ida,可以直接把文件拖到对应图标上)ida中如果没找到main函数就找start函数从而找到main函数起始地址。快捷键r转换字符串 h转换十进制十六进制。转换为十进制数,它就是数字 200。file <文件名>原创 2024-07-07 21:48:13 · 35 阅读 · 0 评论 -
6.pwn Linux保护机制
CANARYNXASLRPIERELRO回顾栈的作用为存储函数调用相关信息以及函数的局部变量这些局部变量通常为数组或者输入的缓冲区(buf)。而函数调用相关的信息,主要是返回地址和栈底指针(rbp)原创 2024-07-07 20:09:32 · 167 阅读 · 0 评论 -
5.pwn Linux的延迟绑定机制
我们程序开发过程中都会用到系统函数,比如read,write,open等等这些系统函数不需要我们实现,因为系统已经帮你完成这些工作,只需要调用即可,存放这些函数的库文件就是动态链接库。原创 2024-07-07 18:39:32 · 435 阅读 · 0 评论 -
4.pwn elf文件结构
等同于Windows的dll文件glibc是linux下面c标准库的实现,即GNUCLibrary。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,i而Linux下原来的标准c库Linux libc逐渐不再被维护。Linux下面的标准c库不仅有这一个,如uclibc、klibc,以及上面被提到的Linux libc,但是glibc无疑是用得最多的。glibc在/ib目录下的.so文件为libc.so.6.原创 2024-07-07 15:45:06 · 295 阅读 · 0 评论 -
3.pwn 函数调用流程,调用约定
pop:Pop指令的作用是弹栈,将栈顶的数据弹出到寄存器,然后栈顶指针向下移动一个单位。具体来说:如pop rax,作用就是mov rax[rsp];add rsp 8;push:Push指令的作用就是压栈,将栈顶指针向上移动一个单位的距离,然后将一个寄存器的值存放在栈顶,具体来说:如pushrax,其实际效果就是:sub rsp 8;jmp:立即跳转,不涉及函数调用,用于循环、ifelse这种场合具体来说:如jmp 1234h,效果就是:mov rip 1234h;原创 2024-07-06 18:26:10 · 597 阅读 · 0 评论 -
2.pwn的linux基础(计算机内部数据结构存储形式)
分为四个ring0-ring3一般来说就两个,0和30为内核3为用户。原创 2024-07-06 11:52:29 · 658 阅读 · 0 评论 -
1.pwn的汇编基础(提及第一个溢出:整数溢出)
RIP指针用于存储CPU下一条将会执行的指针,不能直接修改,正常情况下会每一次运行一条指令自增一条指令的长度,当发生跳转时才会以其他形式改变其值。深入底层后,计算机其实很笨,只能完成一些很基本的操作,但是速度很快机器码就是一个个01组成的,为了方便人类阅读,一般都以16进制呈现。高级语言经过编译之后,经过编译器处理,被打包成一个可执行文件的格式,RSP为栈顶指针,RBP为栈底指针,二者用于维护程序运行时的函数,在之后的调用约定一节会对其进行讲解。在当前主流的操作系统中,都是以字节(B)为寻址单位进行寻址,原创 2024-07-06 10:16:19 · 989 阅读 · 0 评论 -
pwn刷题
https://www.jarvisoj.com/作者筛选过的质量不错的题目。https://adworld.xctf.org.cn/攻防世界。https://pwnable.tw 质量很好,但是有一定难度。https://pwnable.kr 适合新手入门pwn。https://buuoj.cn/北京联合大学CTF。原创 2024-07-05 20:18:28 · 58 阅读 · 0 评论 -
glibc学习路线
原创 2024-07-05 20:13:07 · 54 阅读 · 0 评论