6.1.29 pwn Insomni’hack_teaserCTF2017 The_Great_Escape_part-3

下载文件

题目复现

  1. $ file the_great_escape_part3
  2. the_great_escape_part3: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=08df0c3369b497ee8ed8fca10dbb39ae75ebb273, not stripped
  3. $ checksec -f the_great_escape_part3
  4. RELRO STACK CANARY NX PIE RPATH RUNPATH FORTIFY Fortified Fortifiable FILE
  5. Partial RELRO Canary found NX enabled No PIE RPATH No RUNPATH Yes 0 6 the_great_escape_part3
  6. $ ldd the_great_escape_part3
  7. linux-vdso.so.1 (0x00007ffe0f1e8000)
  8. libjemalloc.so.2 => /usr/lib/libjemalloc.so.2 (0x00007fa5e82dd000)
  9. libc.so.6 => /usr/lib/libc.so.6 (0x00007fa5e7f21000)
  10. libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fa5e7b98000)
  11. libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fa5e797a000)
  12. libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa5e7776000)
  13. libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fa5e755e000)
  14. /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa5e875c000)
  15. libm.so.6 => /usr/lib/libm.so.6 (0x00007fa5e71c9000)

64 位动态链接程序,但其使用 jemalloc 替代了 glibc 里的 ptmalloc2,很有意思。关于 jemalloc 的更多内容可以参考章节 1.5.11。

题目解析

漏洞利用

参考资料