- 博客(23)
- 收藏
- 关注
原创 ctfshow [栈溢出]系列------49-90 持续更新
嘿嘿嘿,慢慢更新,预计7月底栈溢出全部更完,至于为什么是7月底更完栈溢出,因为我善。
2024-07-08 10:24:42 181
原创 CTFHub[技能树]-----House of orange
House of orange也是我第一次学,边学边做题,来来回回折腾了8小时,代码检查了一遍又一遍,没问题但总是打不成功,最后百度查了一下这个是概率成功,我哭了。白白浪费了这么久时间。
2023-02-10 11:27:25 209
原创 [CTFHub-技能树]-----House of roman
先利用UAF漏洞,把chunk申请到ptr_size处,修改size的大小,构造堆溢出,利用堆溢出,打unlink,把chunk申请到ptr处,最后篡改**.fini_array**的值,拿到shell。如下图,可以看出来chunk已经申请到size处了,之后伪造size,造成堆溢出。会在程序结束时调用,一般有2个指针,会依次调用,调用完后才会真正退出。这是一道静态编译的题,没有libc库,所以不能用常规的方法来打。之后再利用堆溢出,打unlink,篡改.fini_array。先定义好要用到的地址。
2023-02-09 13:56:08 178
原创 [CTFHub-技能树]-----House of spirit
这题的ptr只能储存一个chunk的指针,且题目中已经有个0x110大小的chunk,进入了unsorted bins,先申请0x68字节大小的chunk,其会从unsorted bin中分割0x71大小的chunk给我们,利用这个特性可以泄露出libc地址。之后再泄露heap的地址,其实也可以不用泄露,可以爆破低2字节的16进制数,概率是1/16,但我不想爆破,所以直接泄露heap的地址。,一开始始终没有找到漏洞出现的地方,结果问里一下其他师傅,恍然大悟,我就是傻子。这里只是简单讲一下,一定要动手。
2023-02-08 22:34:26 141
原创 House of Einherjar
然后再申请一个和chunk_1一样大小的chunk_4,这时chunk_4也是指向chunk_1,因为之前unsorted bin中的大小为chunk_1+chunk_2,申请chunk_4时unsorted bin做分割吧chunk_1给chunk_4,这时有2个chunk指向同一个chunk。最后进入unsorted bins的地址是chunk_0的地址,注意这里chunk_1并没有被free,所以再申请回chunk_0,之后main_arena的地址就放在了chunk_1中。
2023-02-08 12:16:34 112
原创 CTFHub技能树---pwn-Chunk Extend
add这里如果 index 0 ~ 9 都申请了的 chunk ,那么 i = 10 再退出 for 循环,但是还会接下去利用 ptr[10] = malloc(ptr[20]) 申请chunk,实现 index 0 的堆块溢出。最后第11个chunk的size会变成非常大,编辑chunk0,就可以实现溢出。也就是add 可以覆盖掉一个第一个 chunk 的 size。
2023-02-07 14:04:08 276
原创 CTFHUB[技能树]---Largebin Attack(House of storm)
这题one_gadget打不了,本地能打成功,远程试遍了都不行,估计要改栈帧,太懒了,不想弄了,师傅们可以自己试着改一改。
2023-02-07 11:03:20 145
原创 [CTFHub]-技能树----pwn tcache Attack
目前只有我一人解出来,估计是其他大佬不屑于做这样简单的题吧!长话短说,做堆类题一定要亲自动手,重要的事情说三遍。
2023-02-02 21:04:15 200
原创 [BUUCTF]刷题记录-----roarctf_2019_easy_pwn
现在free chunk1它就会加入unsorted bin,然后再创建一个0x90大小的chunk,这是就会把chunk1给我们,然后再还原原来的chunk2。这样就伪造了两个chunk的大小,但在程序中储存的chunk1的size值不是0x90而是0x10,chunk2不是0x10而是0x90,即使chunk1现在是0xa1的大小,但只能编辑0x10的字节。edit函数中有个问题,就是编辑时输入的size减去添加时的size时的值为10时,可以多输入一个字节,纯在off-by-one漏洞。
2023-02-01 14:02:43 244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人