> For the complete documentation index, see [llms.txt](https://firmianay.gitbook.io/ctf-all-in-one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://firmianay.gitbook.io/ctf-all-in-one/6_writeup/pwn/6.1.29_pwn_insomnictf2017_the_great_escape3.md).

# 6.1.29 pwn Insomni'hack\_teaserCTF2017 The\_Great\_Escape\_part-3

* [题目复现](#题目复现)
* [题目解析](#题目解析)
* [漏洞利用](#漏洞利用)
* [参考资料](#参考资料)

[下载文件](https://github.com/firmianay/CTF-All-In-One/blob/master/src/writeup/6.1.29_pwn_insomnictf2017_the_great_escape3)

## 题目复现

```
$ file the_great_escape_part3
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
$ checksec -f the_great_escape_part3
RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FORTIFY Fortified Fortifiable  FILE
Partial RELRO   Canary found      NX enabled    No PIE          RPATH      No RUNPATH   Yes     0               6       the_great_escape_part3
$ ldd the_great_escape_part3
        linux-vdso.so.1 (0x00007ffe0f1e8000)
        libjemalloc.so.2 => /usr/lib/libjemalloc.so.2 (0x00007fa5e82dd000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fa5e7f21000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fa5e7b98000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fa5e797a000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa5e7776000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fa5e755e000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa5e875c000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fa5e71c9000)
```

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

## 题目解析

## 漏洞利用

## 参考资料

* <https://ctftime.org/task/3311>
