[BelkaCTF#6] Namedrop(Baby, 100)
·
WriteUp/BelkaCTF#6
—So far so good. Let's continue with the basics and get to know the guy.Q. What is the iPhone owner's full name?Format: First name Last nameSolveUsed ToolBelkaSoft X   Answer: William Phorger
[BelkaCTF#6] Ident(Baby, 100)
·
WriteUp/BelkaCTF#6
—Another day, another lead to chase down. A fake $50 bill passed at a corner store—talk about thrilling detective work! OK, let's see what we can find out about this little digital puppet.Q. What is the Apple ID used on the imaged iPhone?SolveUsed ToolBelkaSoft XBy opening Image file with BelkaSoft X, You can see Imaged iPhone’s Apple ID.  At the Contacts Tab, You can see many account, and phoge..
[HackCTF] Yes_or_No
·
WriteUp/HackCTF
libc 버전 관련해서 생각보다 짜증나는 문제였음... ldd 명령어와 pwntools에서도 libc 파일을 고를 수 있음을 잊지 말자!! → System을 두번 호출해야 하는 이유는 아직도 모르겠다... → 한번 호출해도 system에는 잘 들어간다... 하지만 system을 돌다가 갑자기 SIGSEGV 오류 뜨면서 죽어버린다... 왤까? NX → Shellcode 실행 불가 38번째 줄 gets를 이용해서 BOF를 발생시켜야 한다. RTL기법을 사용해서 Libc leak을 진행하고 system('/bin/sh')를 실행시키는 문제인 것 같다. 우선 38번째 줄에 접근하기 위한 조건을 알아야 하는데 이는 어셈블리 분석을 통해 알아보도록 하자. gets가 실행되기 전 cmp문에서 eax 가 어떤 값을 가..
[HackCTF] BOF_PIE
·
WriteUp/HackCTF
NX : Shellcode 실행 X PIE : 메모리 주소 랜덤화 →BOF로 문제를 풀어보자. 메인함수는 되게 간단하다. welcome()도 IDA로 까보겠다. welcome함수의 위치를 출력하고 v1에 입력을 받는모습. retrun에 있는 scanf에서 BOF가 일어난다. IDA로 어떤 함수가 있는지 보던 중 j0n9hyun이라는 함수를 발견했다. 이 함수가 FLAG를 출력하는 함수인 것 같다. 이번 문제에는 PIE가 걸려있지만 앞서 welcome()에서 welcome()함수의 위치를 알려준다. 즉, 함수들 간의 offset을 구해서 j0n9hyun()의 위치를 파악하고, BOF로 ret에 j0n9hyun()의 주소를 덮어주면 될 것 같다. offset은 gdb를 통해서 간단하게 구할 수 있다. exp..
[HackCTF] Offset
·
WriteUp/HackCTF
CANARY X → Buffer Overflow 가능 NX → 모든 공간에서 Shellcode 삽입 및 실행 불가 RELRO → GOT Overwrite 불가 PIE → 주소 랜덤화 BOF를 일으켜 문제를 해결해야 한다. main함수에서는 어떤 함수를 호출할 것인지 물어보고 입력받은 버퍼값을 select_func으로 바로 넘겨주는 모습이다. 입력받아온 함수의 이름이 one과 같으면 one()를 return, 아니면 two()을 return한다. strcmp(s1,s2)는 다음과 같은 출력을 만들어 낸다. 1: ASCII 코드 기준으로 문자열2(s2)가 클 때 0: ASCII 코드 기준으로 두 문자열이 같을 때 1: ASCII 코드 기준으로 문자열1(s1)이 클 때 one()과 two()는 특정 문자열을 ..
[HackCTF] Simple Overflow Ver 2
·
WriteUp/HackCTF
따로 주목할만한 보호기법은 안걸려있는 모습 입력받은 데이터를 저장하는 버퍼의 주소와 입력받은 데이터를 한 문자씩 출력하는 간단한 프로그램. Again을 물어보고 y를 입력으로 제공하면 다시 입력을 받을 수 있는 모습이다. IDA로 확인한 BOF 취약점은 scanf에 있다. 따라서 다음과 같은 방법으로 exploit을 시도할 수 있다. ① 버퍼의 주소를 먼저 파악한다. ② 해당 버퍼에 쉘코드를 삽입하고 return address를 버퍼의 주소로 덮어 BOF를 발생하게한다. gdb로 뜯어보면 ret이 어디 위치에 있는지 알 수 있다.( 140 바이트 이후) from pwn import * # context.log_level = "debug" #p = process('./Simple_overflow_ver_2..
[HackCTF] x64 simple_size_BOF
·
WriteUp/HackCTF
main을 덤프뜬 코드 Dump of assembler code for function main: 0x0000000000400636 : push rbp 0x0000000000400637 : mov rbp,rsp 0x000000000040063a : sub rsp,0x6d30 0x0000000000400641 : mov rax,QWORD PTR [rip+0x200a08] # 0x601050 0x0000000000400648 : mov ecx,0x0 0x000000000040064d : mov edx,0x2 0x0000000000400652 : mov esi,0x0 0x0000000000400657 : mov rdi,rax 0x000000000040065a : call 0x400520 0x0000000000..
[HackCTF] 내 버퍼가 흘러넘친다!!!
·
WriteUp/HackCTF
메인 함수를 덤프뜬 모습 Dump of assembler code for function main: 0x080484cb : push ebp 0x080484cc : mov ebp,esp 0x080484ce : sub esp,0x14 0x080484d1 : mov eax,ds:0x804a040 0x080484d6 : push 0x0 0x080484d8 : push 0x2 0x080484da : push 0x0 0x080484dc : push eax 0x080484dd : call 0x80483b0 0x080484e2 : add esp,0x10 0x080484e5 : push 0x80485b0 0x080484ea : call 0x8048380 0x080484ef : add esp,0x4 0x080484f2 :..
[HackCTF] Basic_FSB
·
WriteUp/HackCTF
주어진 파일을 먼저 disassemble 해보자. Dump of assembler code for function main: 0x080485ed : lea ecx,[esp+0x4] 0x080485f1 : and esp,0xfffffff0 0x080485f4 : push DWORD PTR [ecx-0x4] 0x080485f7 : push ebp 0x080485f8 : mov ebp,esp 0x080485fa : push ecx 0x080485fb : sub esp,0x4 0x080485fe : mov eax,ds:0x804a044 0x08048603 : push 0x0 0x08048605 : push 0x2 0x08048607 : push 0x0 0x08048609 : push eax 0x0804860a ..
[HackCTF] gift
·
WriteUp/HackCTF
0x08048546 : push ebp 0x08048547 : mov ebp,esp 0x08048549 : push ebx 0x0804854a : add esp,0xffffff80 0x0804854d : call 0x8048480 0x08048552 : add ebx,0x1392 0x08048558 : push 0x3c 0x0804855a : call 0x80483f0 0x0804855f : add esp,0x4 0x08048562 : mov eax,DWORD PTR [ebx-0x4] 0x08048568 : mov eax,DWORD PTR [eax] 0x0804856a : push 0x0 0x0804856c : push 0x2 0x0804856e : push 0x0 0x08048570 : push eax..
d2n0s4ur
'WriteUp' 카테고리의 글 목록