2018-05-04 21:56:51 +07:00
|
|
|
|
# 6.1.24 pwn HCTF2017 babyprintf
|
|
|
|
|
|
|
|
|
|
- [题目复现](#题目复现)
|
|
|
|
|
- [题目解析](#题目解析)
|
|
|
|
|
- [漏洞利用](#漏洞利用)
|
|
|
|
|
- [参考资料](#参考资料)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[下载文件](../src/writeup/6.1.24_pwn_hctf2017_babyprintf)
|
|
|
|
|
|
|
|
|
|
## 题目复现
|
|
|
|
|
```
|
|
|
|
|
$ file babyprintf
|
|
|
|
|
babyprintf: 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]=5652f65b98094d8ab456eb0a54d37d9b09b4f3f6, stripped
|
|
|
|
|
$ checksec -f babyprintf
|
|
|
|
|
RELRO STACK CANARY NX PIE RPATH RUNPATH FORTIFY Fortified Fortifiable FILE
|
|
|
|
|
Partial RELRO Canary found NX enabled No PIE No RPATH No RUNPATH Yes 1 2 babyprintf
|
|
|
|
|
$ strings libc-2.24.so | grep "GNU C"
|
|
|
|
|
GNU C Library (Ubuntu GLIBC 2.24-9ubuntu2.2) stable release version 2.24, by Roland McGrath et al.
|
|
|
|
|
Compiled by GNU CC version 6.3.0 20170406.
|
|
|
|
|
```
|
2018-05-05 23:53:49 +07:00
|
|
|
|
64 位程序,开启了 canary 和 NX,默认开启 ASLR。
|
2018-05-04 21:56:51 +07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 题目解析
|
|
|
|
|
|
|
|
|
|
## 漏洞利用
|
|
|
|
|
|
|
|
|
|
## 参考资料
|
|
|
|
|
- https://github.com/spineee/hctf/tree/master/2017/babyprintf
|