摘要:
House of force是一个堆的小利用技巧,要想利用它需要满足两个条件: 1、可以通过溢出修改 top chunk 的 size 2、分配堆的大小没有限制 通过把 top chunk 的size 改的很大,再malloc一个特定的size,使 top chunk 的位置 恰好在目标位置 -0x 阅读全文
摘要:
之前经常改 malloc_hook , realloc_hook,free_hook 为 one_gadget 来 get shell ,最近看到一种利用是改 exit hook(winmt师傅告诉我 其实没有exit hook,它是函数指针)。 改 exit_hook 有两种改法,一个是改为 on 阅读全文
摘要:
Ζ一道Ubuntu 16 的unlink,就当复习了一下(摸了好长时间快忘得一干二净了) 主函数:发现show这个函数没用 1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) 2 { 3 int 阅读全文
摘要:
Ubuntu 18的 tcache double free没有加入 key 所以会简单很多 主函数: 1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) 2 { 3 int v3; // [rsp 阅读全文
摘要:
做SCTF时碰到一个没看过的题型,比赛结束之后才知道是orw的一个玩法,测信道攻击。主要特点就是只给使用open,read,但是不给write,即无法把flag输出到终端。这里可以通过把flag读到栈上,再逐个爆破比较,来确定flag。原理和web的时间盲注类似。 下面给出一个UNCTF的测信道攻击 阅读全文
摘要:
总的来说这是一个64位orw的题 开头先在主函数里分配了一个很大的空间 1 __int64 __fastcall main(int a1, char **a2, char **a3) 2 { 3 mmap((void *)0x123000, 0x1000uLL, 6, 34, -1, 0LL); 4 阅读全文
摘要:
Ubuntu18.04的题 用到了两个特性: 一个是 calloc 的特点:不会分配 tcache chunk 中的 chunk 另一个是 tcache 的特点:在分配 fastbin 中的 chunk 时,若还有其他相同大小的 fastbin_chunk 并且 tcache 还没满时,会将其全部放 阅读全文
摘要:
ret2dl_resolve是一种比较复杂的高级ROP技巧,利用它之前需要先了解动态链接的基本过程以及ELF文件中动态链接相关的结构。 我根据raycp师傅的文章,动手调试了一下: https://ray-cp.github.io/archivers/ret2dl_resolve_analysis# 阅读全文
摘要:
推迟了好久的unlink今天终于把它看了一下。下面是从CTFwiki上拿过来的unlink过程的图片,感觉已经很详细了。 附上unlink的源码 1 #define unlink(P, BK, FD) \ 2 { \ 3 BK = P->bk; \ 4 FD = P->fd; \ 5 FD->bk 阅读全文
摘要:
先放个例题吧,原理后面有时间再更:BUUCTF ciscn_2019_s_3 保护只开了nx 1 signed __int64 vuln() 2 { 3 signed __int64 v0; // rax 4 char buf[16]; // [rsp+0h] [rbp-10h] BYREF 5 6 阅读全文