- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 【pwn】 [极客大挑战 2019]Not Bad
例行检查 开了沙箱 程序逻辑很简单,存在0x18字节溢出,看是否能进行栈迁移,目前可控输入只有buf,但是buf只有0x20大小不够rop,所以尝试别的方法。程序在最开始mmap了一块内存,可写可执行,那么接下来目标就是1.在这块内存上写shellcode 2.跳转过来执行 由于不能rop且栈是可执行的想到能不能进行jmp rsp。在程序中找到了这个指令。 那么就可以在buf上布置read以...
2020-03-10 18:53:46
1266
7
原创 【pwn】 hitcontrain_bamboobox && ZJCTF_19_EasyHeap
这两个题目类似,放在一起写。 例行检查 没有pie,got表可写。 程序逻辑 edit功能都存在堆溢出,堆指针都保存在bss段上,可以通过unlink对got表进行读写。本来两个程序都存在后门,但是oj在部署的时候路径有点问题,所以就想办法获取shell。 bamboobox存在show功能,可以泄露libc地址。 easyheap刚好程序中存在system函数。 bamboobox from ...
2020-03-06 14:58:51
644
原创 【pwn】 ciscn_2019_s_4
main函数,存在八个字节溢出,栈迁移,第一次泄露ebp,得到栈上buf地址,迁移到buf即可。 from pwn import * io=remote('node3.buuoj.cn',28060) leave=0x8048562 sys_plt=0x8048400 pl1='a'*0x24+'bbbb' io.send(pl1) io.recvuntil('bbbb') ebp=u32(...
2020-03-06 11:18:29
919
3
原创 【pwn】 roarctf_2019_realloc_magic
例行检查 保护全开,分析程序逻辑。发现没有输出堆内容的函数,想要泄露libc地址只能通过修改IO_FILE结构体实现。realloc函数有两个trick。在size为0时,free掉指针指向的堆块,返回0;在分配超过当前指针指向堆块大小时如果有剩余空间则扩大堆块大小。 利用思路 1.堆块free 8次放进unsortbin中,在fd上得到arena地址,通过realloc扩大堆块的特性造成堆块堆叠...
2020-03-05 10:24:43
1148
原创 【pwn】 gyctf_2020_borrowstack
例行检查 程序逻辑 看到buf缓冲区有0x10大小溢出,且可以控制bss段上的bank,可以用栈迁移做,这题的bss段离got表较近,在迁移时尽量往高地址迁移,防止在rop时破坏got表上数据。 from pwn import * io=remote('node3.buuoj.cn','29302') bank=0x0601080 leave=0x400699 puts_plt=0x0400...
2020-03-02 17:03:17
1781
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅