0x00 介绍

保护情况

  • 开启NX保护(可写不可执行)
  • 使用libc函数,leak libc +ROP

**

  • libc函数在哪里
  • ASLR地址随机化
  • 系统开启 /proc/sys/kernel/randomize_va_space

    • 0 关闭ASLR
    • 1 保留随机化。共享库,栈,mmap()以及 VDSO随机化
    • 2 完全随机发。在1 的基础上,通过brk()分配的内存空间也将被随机化

      bypass

  • 绕过NX => ret2libc => ASLR随机化 => 泄露libc 地址

  • ASLR导致ret2 libc 技术常常要配合一个泄露的操作
  • ret2libc = leak libc 地址+system(/bin/sh)

**