GCC Compile Option

32비트로 컴파일 -m32 64비트로 컴파일 -m64 스택 바운더리 제거 -mpreferred-stack-boundary=2 최적화 옵션하면 __printf_chk@plt말고 printf@plt 이렇게 보이도록 함 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 CANARY 제거 -fno-stack-protector CANARY 생성 -fstack-protector CANARY FULL -fstack-protector-all NX Bit...

2019 Timisoara CTF Quals Writeup

Team : Complex Rank : 7 Country : Republic of Korea Points : 4,426 Crypto Baby Crypto (50pts) This file seems… odd In the name of the problem, I thought...

2019 TokyoWesterns CTF 5th Easy Crack Me

Reverse Warmup 문제로 나온 문제다. main 코드를 보면 연산하고 memcmp로 비교한다. 분기들을 다 만족 시켜주면 된다. if ( a1 == 2 ) { s = a2[1]; if ( strlen(a2[1]) !=...

2019 20th Hackingcamp CTF Writeup

Web Hacking js jsfuck으로 되어있는데 jsfuck만 긁어서decrypt 해주면 된다. function anonymous( ) { ['HCAMP{0jSeasy0}',''][0x1]; } FLAG : HCAMP{0jSeasy0} command injection $ nslookup “ “ 이렇게 주는데 “ “사이에 커맨드 인젝션...

2019 Inc0gnito CTF Writeup

Reversing Reversing #2 문제를 보면 반복문이 엄청나게 돌고있다.. 디버깅해서 연산하는 곳마다 브레이크 포인트 걸어주고 풀었다. __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char *v3; // rsi signed int...

2019 제 17회 순천향대학교 정보보호 페스티벌(YISF) 예선 풀이

Web 50 편지를 쓰다 말고 훈련소에 끌려 갔다고 해서 .swp 파일인 것을 짐작 할 수 있었다. http://218.158.141.133/.index.php.swp이 링크로 들어가면 서버 사이드 스크립트가 노출된다. Magic hash 문제다. 입력한 한 문자열 +...

2018 ROOT CTF Reversing Writeup

ROOT_Process_1 int sub_EA1860() { int v0; // edx int v1; // ecx int v2; // edx int v3; // ecx int v4; // edx int v5; // ecx int v6;...

2013 Codegate Prequel binary 100

.NET 바이너리가 주어졌다. 이 바이너리 소스인데 좀 길지만 보면 쉽다. using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Text; using System.Windows.Forms; using Crack_Test.Properties; namespace Crack_Test { // Token: 0x02000003...

2017 Dimi CTF Final warmup

64bit 바이너리 warmup과 flag.enc가 주어졌다. $ file warmup warmup: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.32, BuildID[sha1]=387ae1f78e1eda40583739245d91ad9ce53a9442, stripped flag.enc 파일은 뭔가 인코딩...

2017 Dimi CTF Final angry

파일 입출력을 사용해서 값을 읽어와서 루틴에 맞는지 아닌지 검증해 마지막에 GOOD을 출력해준다. 그냥 Codegate 2018에 나온 RedVelvet과 유사한 문제였다. __int64 __fastcall main(__int64 a1, char **a2, char **a3) { int fd;...

2018 Dimi CTF Prequal mm

main에서는 그냥 입력받고 sub_85A 함수 호출 해주는데 이 함수에서 마지막에 비교해서 리턴 값이 1이면 Correct 틀리면 Wrong을 출력해준다. _BOOL8 __fastcall sub_85A(const char *a1) { int v1; // ST1C_4 int i;...

2017 Dimi CTF Final TooEasy

시드값 정해주고 랜덤 값 가져와서 어떠한 연산을 한 뒤에 마지막에는 저장되어 있는 값과 비교 연산을 한다. int __cdecl main(int argc, const char **argv, const char **envp) { char v3; //...

2017 Dimi CTF Prequal WhatIsTheEnd

메인을 보면 33글자를 입력받을 받는다. 그리고 어떠한 연산을 하고 맞는지 비교해준다. int __cdecl main(int a1) { int v2; // [esp-Ah] [ebp-70h] int v3; // [esp-6h] [ebp-6Ch] int v4; // [esp-2h]...

ARM Reversing

ARM Reversing 문제 풀기 위해 좀 정리하려고 한다. 참고 : Reference Register R0 ~ R12 : 범용 레지스터 (다목적 레지스터) R0 : 함수 리턴 값 저장 (EAX 같은 느낌) R0...

2019 Codegate open CTF Writeup

Reversing seori C++로 만들어진 프로그램이다. int __cdecl sub_3011E0(int a1) { int v1; // eax int v2; // eax int v3; // eax int v4; // eax int v5; // eax...

2019 Dimi CTF Prequal Writeup

한국디지털미디어고등학교에서 주최하는 CTF에 참여했다. 시험 하루전에 참여한 CTF인데 그래서 한 두시간밖에 참여하지 못해서 9등으로 마무리했다 :) Webhacking 5shared - 43 solver $extension = explode('.', $file['name'])[1]; if (!in_array($extension, Array("jpg", "gif", "png")))...

2015 DCTF Quals r100

간단한 키 검증 바이너리다. signed __int64 __fastcall main(__int64 a1, char **a2, char **a3) { signed __int64 result; // rax char input; // [rsp+0h] [rbp-110h] unsigned __int64 v5; // [rsp+108h] [rbp-8h]...

CTF Tips

Binary Tips file 명령어로 봤을 때 stripped 돼있고 main 함수가 안 보인다면 start로 가면 libc_start_main으로 콜하는 데 그 중에서 첫번째 인자로 들어가는 주소가 main함수이다. 윈도우 바이너리 같은 경우는 start에서 2번째...

2019 Tamu CTF Writeup

2472팀중에 348등 5061 points로 끝냈고 22문제를 풀었다. Pwnable 포..넙 Pwn1 from pwn import * # p = remote('pwn.tamuctf.com',4321) p = process('./pwn1') e = ELF('./pwn1') shell=0xDEA110C8 p.sendlineafter('What... is your name?','Sir Lancelot...

2019 Codegate Quals Writeup

팀명 : 앙진헌띠 주니어부 23등 MIC check 9P&;gFD,5.BOPCdBl7Q+@V’1dDK?qL 를 디코딩하라고 한다. ASCII-85 디코딩 해주면 플래그가 나온다. FLAG : Let the hacking begins ~ 20000 nc 와 20000이라는 바이너리와 20000개의 .so파일이...

2018 Otter CTF Writeup

1 - What the password? - 100pt you got a sample of rick’s PC’s memory. can you get his user password? format: CTF{…} $ vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hashdump -s...