- 博客(12)
- 收藏
- 关注
原创 how2heap—glibc 2.23—unsafe_unlink.c
①:p 是高地址的 chunk ,if 判断中首先检测 P 的 Size 字段的 P 位是否为 0 ,是则说明物理相邻的低地址 chunk 为 free chunk ,可以向后合并,然后就获取 p 的 Prev_size,将 p 的 Prev_size 加到 p 的 Size 就算把物理相邻的低地址 chunk 合并了,然后将 p 指向被合并的低地址 chunk ,再利用 unlink 将其从 bin 中删除就算完成了向后合并。②:第一句检测过后,会执行 FD = P->fd;BK = P->bk;
2023-06-22 09:48:05 214 2
原创 文件隐藏—rar->png
1、随便找一个文件夹,把想要隐藏的文件放入 xxx.rar 中,放入一张用来隐藏 rar 的图片。3、只保留结果文件,只需将结果文件 2.png 的后缀修改为 .rar 即可查看原 rar 文件。2、copy /b <目标图片png>+<想要隐藏的rar> <结果文件png>哈哈哈,无意中刷到一个比较有意思的小视频。
2023-06-10 02:00:42 294
原创 how2heap—glibc 2.23—fastbin_dup
这个代码主要是介绍 glibc 2.23 存在的 double free 这一现象,但并没有介绍如何利用 double free。1、运行环境:ubuntu16.04 - glibc 2.23。4、fastbins 中的空闲堆块状态。④:申请一个堆块,奇怪的事情发生了。2、一些用到的 gdb 指令。③:再次释放第一个堆块。⑥:第6次malloc。⑤:再次申请一个堆块。
2023-06-04 20:43:47 141 1
原创 ModuleNotFoundError: No module named ‘angelheap‘
pwndbg报错(已解决):Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No mo
2023-05-31 01:05:56 542
原创 ctf-pwn-堆—unsorted bin attack
上面只需要知道unsorted bin实现了将栈上的一个变量值变为了main_arena结构体中的一个地址,这句话仅出于个人理解,从参考链接2里得到的理解。1、个人翻译过后的代码(翻译自参考链接2)3、删除部分打印函数的代码。
2023-05-23 03:31:56 321 1
原创 pwn-double free
指针情况:(只连续free两次xy1不行,有检查机制,中间必须free一个同等大小的chunk才能绕过检查机制,检查机制)一个神奇的现象:xy1 中输入的数据同时也输进了 Top chunk。1、代码及编译指令(运行环境:ubuntu16.04)
2023-05-21 01:33:42 433 1
原创 ctf-pwn-堆-调试
写这篇文章的目的是更好地去理解堆,不要只停留在理论知识阶段注:读这篇文章需要一定基础,不然读起来很费劲或读不懂,要是有ctf-pwn手的基本基础,只是缺乏堆这一块的知识,可以先把这篇文章读完,大致了解哪些地方写了哪些知识点,同时结合一些堆相关的链接去快速掌握堆在计算机内存中的运作方式。
2023-05-20 19:03:18 523
原创 pwnable.kr——passcode
⑩:综上,我们的思路是将 got 表中 printf 函数的地址(即0x0804A000)中存的值修改为 system("/bin/cat flag");的地址(0x080485E3)即可,随后程序执行到 printf 函数就相当于执行system("/bin/cat flag");函数,但已知我们只能控passcode1不能控passcode2,所以这题不能依靠修改passcode1,passcode2使程序正常执行来执行 system("/bin/cat flag");⑦:查找偏移,可知偏移为96。
2023-05-10 18:35:42 120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人