• Unlink

    unlink 的目的是把一个块从链表中摘除,也就是“解链”。 unlink 触发的典型情况是:当堆中的 chunk 被释放并合并(consolidate)时,glibc 为了维护双向链表结构,需要从 bin 中移除一个 chunk,而这时就会调用 u...
  • fast_bin

    0x555555559000: 0x0000000000000000 ← prev_size(上一个 chunk 大小;此处用不到)0x555555559008: 0x0000000000000021 ← size = 0x20 ...
  • UAF漏洞初探

    UAF,全称use after free,即在释放之后使用 那么具体又代表了什么呢? 我们首先要知道的是,我们free适当大小的chunk时,我们free掉的chunk会先被放入bins, 在我们再次申请适合大小的chunk时系统会优先从我们bins...
  • pwn_docker题目部署

    dockerDocker 是一个 容器化工具。 在不同的环境下,程序可能因为处于不同的环境无法正常运行, docker能把 程序 + 依赖环境 一起打包成一个标准的“盒子”(镜像),然后在任何地方都能运行(容器),容器就是镜像的动态实例. 组成部分d...
  • 第三届陇剑杯决赛

    pwn1附件 可以看到Stack: Executable/Has RWX segments允许在数据(栈或某个段)上执行代码 查看执行权限 vmmap:0x7ffffffdd000 - 0x7ffffffff000 rwxp [stack] 任...
  • 网谷杯

    pwn金丝雀-wgb附件 分析看到main中的buf可以绕过canary,而gift是很明显的栈溢出 用read函数去泄露,把canary的值放到bss段,写出来 之后用retlibc去泄露就好,(把canary放在合适的位置上面) 可以看到 ...
  • SROP

    syscall_leaverootersctf_2019_srop 可以看到这个什么都没有,但是存在pop rax的操作,所以可以用SROP来泄露后门函数 思路用SROP第一次读入执行read函数,第二次向这个read函数读入/bin...
  • odd_canary

  • [HNCTF 2022 WEEK2]ret2csu

    题目 分析 可以看到没有system函数,而且只能通过write去泄露,write有三个参数,但是pop指令不够 所以要用csu 整理一下思路 先通过pop那一块操作把我们要的值放入对应的寄存器中,然后再调用mov函数去设置我们需要的寄存器,...
  • [NSSRound#14 Basic]rbp

    题目 可以看到是栈迁移,而且是只有read输入的类型,考虑lea类型 因为read读入数据之后哈有个puts输出,为了防止发送数据的时机不对,我们控制lea在输出try it之前,以控制程序执行流程 又看到沙盒,在程序中验证 允许所有系统...
/4