darkCTF
[DarkCTF 2020] newPaX write up
[DarkCTF 2020] newPaX write up
2020.09.27pwnable 분야의 두번째 문제 newPaX 이다. Checksec Analyze 이번 바이너리에는 `main()` 과 `vuln()` 이렇게 2개가 있는데, `main()` 함수에는 별거 없고 `vuln()` 함수에서 `BOF` 공격이 가능하다. 이전 문제와 다른점은 `32bit` 라는 점이다. `32bit rop` 공격은 `64bit` 와 다르기 때문에, 아래 코드 처럼 `stack` 에 데이터를 overwrite 했다. 필자는 `read()` 함수의 `GOT`를 leak 했고, libc database 사이트에서 라이브러리를 다운 받아 `libc_base` 를 구했다. from pwn import * p = remote("newpax.darkarmy.xyz", "5001") e = ELF("./n..
[DarkCTF 2020] rop write up
[DarkCTF 2020] rop write up
2020.09.27pwnable 분야의 첫번째 문제 roprop 이다. (write up을 작성하는 시점에서 서버가 닫혀있어 설명하는데 지장이...) Checksec ubuntu:~/environment/ctf/DarkCTF/pwn/01_rop $ checksec roprop [*] '/home/ubuntu/environment/ctf/DarkCTF/pwn/01_rop/roprop' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) Analyze 바이러니는 `main` 함수만 정의 되어 있다. `gets()` 함수에서 `BOF` 공격이 가능한 것을 볼 수 있다. 우선 `libc addre..