• 密码学实验

    DES12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012...
  • doublefree

    利用条件 1.fastbin 的堆块被释放后 next_chunk 的 pre_inuse 位不会被清空2.fastbin 在执行 free 的时候仅验证了 main_arena 直接指向的块,即链表指针头部的块。对于链表后面的块,并没有进行验证。 该漏洞是指将同一个chunk free两次,通常情况下free两个chunk会报错是无法编译的,监测机制也很简单,就仅仅是对free变量与前一个进行对比,所以可以中间夹一个其他的实现: 123free(shangu1)free(shangu2)free(shan...
  • House of Storm + 堆SROP + orw

    同样是house of storm,但是如果程序开启了沙箱,禁用了system函数,那我们常规把hook函数改为system函数的方法就失效了,若是沙箱没有禁用open,read,write函数,这里我们可以考虑用orw。 例题rctf_2019_babyheap在这里插入图片描述 在这里插入图片描述保护全开,禁用了execve就是禁用了system,因为system函数通过调用execve函数才能执行。看一下ida main函数可以看到是实现了四个功能,增改删查 1234567891011121314151...
  • House of Storm

    House of storm结合了unsorted_bin_attack和Largebin_attack的攻击技术,实现任意地址分配chunk,任意地址写。 利用条件:1234561.需要攻击者在largebin和unsorted_bin中分别布置一个chunk , 这两个chunk需要在归位之后处于同一个largebin的index中, 且unsortedbin中的chunk要比largebin中的大2.需要unsorted_bin中的bk指针可控3.需要largebin中的bk指针和bk_nextsi...
  • House of Spirit

    该技术的核心在于在目标位置处伪造 fastbin chunk,并将其释放,从而达到分配指定地址的 chunk 的目的。 要想构造 fastbin fake chunk,并且将其释放时,可以将其放入到对应的 fastbin 链表中,需要绕过一些必要的检测,即 12345fake chunk 的 ISMMAP 位不能为 1,因为 free 时,如果是 mmap 的 chunk,会单独处理。fake chunk 地址需要对齐, MALLOC_ALIGN_MASKfake chunk 的 size 大小需要满足对应的...
  • House of Orange

    House of orange前提题目中不存在 free 函数或其他释放堆块的函数。 原理House of Orange 核心就是通过漏洞利用获得 free 的效果。当前堆的 top chunk 尺寸不足以满足申请分配的大小的时候,原来的 top chunk 会被释放并被置入 unsorted bin 中,通过这一点可以在没有 free 函数情况下获取到 unsorted bins。 利用方法1231.篡改top chunk size(注意size需要对齐内存页)2.分配比top chunk size大的ch...
  • Tcache Stashing Unlink Attack(House of Lore)

    如果从fastbins中malloc-一个freechunk时,glibc会做以下两个检测: Tcache Stashing Unlink Attack利用了House of Lore的一些手段,两者都是利用了small bin House of Lore House of Lore 攻击与 Glibc 堆管理中的 Small Bin 的机制紧密相关。House of Lore 可以实现分配任意指定位置的 chunk,从而修改任意地址的内存。House of Lore 利用的前提是需要控制 Small Bin...
178910