摘要:ciscn_2019_es_4 总结 很基础的unlink,只记录下exp,不对题目做过多的分析。注意一点,对于含有tcache bin的glibc版本,需要先把tcache bin填满,再unlink。 EXP from pwn import * int16 = lambda x : int(x, 阅读全文
posted @ 2021-06-14 17:52 LynneHuan 阅读(8) 评论(0) 推荐(0) 编辑
摘要:hitcontraining_playfmt 题目分析 经典的堆的格式化字符串,找一个指针链作为跳板即可。直接上exp。这里我直接使用ebp指针链来攻击。 最终EXP from pwn import * sh = process("./") int16 = lambda x : int(x, bas 阅读全文
posted @ 2021-06-14 17:32 LynneHuan 阅读(25) 评论(0) 推荐(0) 编辑
摘要:jarvisoj_level6_x64 总结 根据本题,学习与收获有: 一般来说,在libc-2.23.so中,能用unlink的题目,基本可以用unsorted bin attack + IO_FILE劫持IO_jump_t结构执行system("/bin/sh")。不用能unlink的题目,但是 阅读全文
posted @ 2021-06-14 17:30 LynneHuan 阅读(8) 评论(0) 推荐(0) 编辑
摘要:wdb_2018_1st_babyheap 总结 根据本题,学习与收获有: 一般来说,在libc-2.23.so中,能用unlink的题目,基本可以用unsorted bin attack + IO_FILE劫持IO_jump_t结构执行system("/bin/sh")。不用能unlink的题目, 阅读全文
posted @ 2021-06-11 20:37 LynneHuan 阅读(26) 评论(0) 推荐(0) 编辑
摘要:OGeek2019-bookmanager 总结 本题比较简单,就是题目流程比较复杂一点,用到的知识点就一个: 当chunk被放置到unsorted bin中时,其fd指针会指向main_arena+88这个地址,可以用来泄露libc地址 checksec 保护全开,题目运行环境为ubuntu 16 阅读全文
posted @ 2021-06-05 00:19 LynneHuan 阅读(25) 评论(0) 推荐(0) 编辑
摘要:picoctf_2018_echo_back 题目分析 简单的格式化字符串,修改got@puts为main函数地址制造循环即可: 先制造循环 修改printf@got为system@plt 输入/bin/sh获取shell 最终EXP from pwn import * sh:tube = proc 阅读全文
posted @ 2021-06-05 00:18 LynneHuan 阅读(19) 评论(0) 推荐(0) 编辑
摘要:npuctf_2020_bad_guy 解题思路 利用unsorted bin的fd指针,爆破修改低地址的第2个字节,劫持fastbin到stdout,修改flag为0xfbad1800,将_IO_write_base低字节改小一点,泄露出libc地址 同样的方法劫持__malloc_hook为on 阅读全文
posted @ 2021-06-05 00:07 LynneHuan 阅读(55) 评论(0) 推荐(0) 编辑
摘要:pwnhub公开赛二期PWN-random 总结 根据本题,学习与收获有: 有时候IDA反编译出来的代码不一定准确,需要结合汇编代码进行分析 之前的__stack_chk_fail函数,如果把args[0]处的地址覆盖为存储flag的地址,那么检测到canary被修改的时候,就会把flag打印出来 阅读全文
posted @ 2021-06-04 22:39 LynneHuan 阅读(25) 评论(0) 推荐(0) 编辑
摘要:DASCTF_BUUCTF_May_pwn_wp 能在buuctf上打比赛还是很舒服的,两道pwn题比较基础,wp就随便写一下啦! 1、ticket checksec 运行环境为ubuntu16.04,libc-2.23.so 题目分析 常见的菜单题,这里主要分析一下bss段的数据分布: 需要注意的 阅读全文
posted @ 2021-05-29 23:26 LynneHuan 阅读(184) 评论(0) 推荐(0) 编辑
摘要:warmup 总结 根据本题,学习与收获有: 刚开始尝试利用read的返回值来构造execve的syscall,后来发现基本没有办法。后来查了下资料,才知道需要从alarm函数的返回值进行利用。虽然之前一直都知道alarm函数的功能,但是并不清楚其返回值是啥。 根据C语言alarm()函数:设置信号 阅读全文
posted @ 2021-05-13 23:08 LynneHuan 阅读(25) 评论(0) 推荐(0) 编辑