摘要:
jarvisoj_itemboard 总结 基础的UAF的题,只记录下exp吧。 Exp from pwncli import * cli_script() p:tube = gift['io'] elf:ELF = gift['elf'] libc: ELF = gift['libc'] def 阅读全文
摘要:
sleepyHolder_hitcon_2016 总结 一个UAF洞,然后是常规的unlink。穿插着一个malloc_consolidation的理解,即如何构造unlink的条件。 利用过程 申请小的chunk 申请大的chunk 释放掉小的chunk 申请超大的chunk,此时触发malloc 阅读全文
摘要:
bbctf_2020_write 总结 题目可以任意地址写任意值,但是没有退出,因此可以考虑劫持rtld_global结构体中的一些函数指针。 利用exit函数的两个hook,同时观察寄存器状态,构造system("/bin/sh")拿shell。 这里出现的rtld_global结构体,可以伪造, 阅读全文
摘要:
hitcon_ctf_2019_one_punch 总结 仍然是tcache stash unlink的利用,这里总结两种思路: 任意地址分配时,先放5个,然后再凑2个出来 写堆地址的时候,放6个,伪造一下bk即可 利用思路 只有punch分支才能用malloc,其他分支都是calloc,因此要想办 阅读全文
摘要:
pwnable_simple_login 总结 本以为是要逆一下MD5,后来定睛一看,原来是个隐藏的栈迁移的题,还自带system("/bin/sh")。怪不得叫login,的确是签到题。也只记录下exp。 Exp from pwncli import * cli_script() p:tube = 阅读全文
摘要:
asis2016_b00ks 总结 经典的利用fastbin [0x70],然后攻击__malloc_hook + __realloc_hook的题。只记录下exp。 Exp from pwncli import * cli_script() p = gift['io'] elf = gift['e 阅读全文
摘要:
gwctf_2019_jiandan_pwn1 总结 题如其名,虽然简单,但是有个小坑,就是栈溢出的过程中,会把索引给覆盖掉,所以要注意索引的值: 即这里的v4为索引,在rbp的下方,溢出的时候注意一下即可。 Exp from pwncli import * cli_script() p:tube 阅读全文
摘要:
鹏城杯_2018_treasure 总结 根据本题,学习与收获有: 算是很简单的shellcode的题,需要手写shellcode 在写shellcode之前,可以先观察下寄存器状态,比如这题就可以很巧妙的去运用read的系统调用 使用xchg交换两个寄存器的值,是一个很方便的指令 题目分析 che 阅读全文
摘要:
RedPacket_SoEasyPwn 总结 根据本题,学习与收获有: 总结一个特殊的largebin attack,其实也不特殊,照着源码就能看出来,但是往往很少有题目这么考。即在往堆头节点插入大小相同的chunk时,若更改了堆头节点的fd,即可有一次任意地址写堆地址的机会。 tcache bin 阅读全文
摘要:
starctf_2019_girlfriend 总结 常规的fastbin attack,劫持__malloc_hook为realloc+2,然后__realloc_hook为one_gadget即可 题目分析 checksec 题目环境为ubuntu-16.04 函数分析 恢复下girlfrien 阅读全文