CTF

    SECCON CTF 2023 Quals

    SECCON CTF 2023 Quals

    1개 겨우 풀었습니다 ㅎㅎ.. REV jumpout IDA로 디컴파일이 잘 안되어서 어셈블리와 gdb로 분석한 결과 입력한 값의 길이가 29(0x1d)인지 검증한 뒤 다음과 같은 3번의 xor 연산을 거친 뒤 값을 비교하여 동일하면 정답으로 처리해주는 로직이었습니다. # r8d에 입력한 값이 들어감 r8d ^ esi # esi는 0 ~ 0x1c r8d ^ 0x55 # r9d는 [0x555555558010 + rdi] (0~0x1c) r8d ^ r9d pwndbg> x/4gx 0x555555558010 0x555555558010:0x68141581c831f5f60xf1ca09823ee535f6 0x555555558020:0x816d2a33dfdfa98a0x00000017df85a6f5 # 아래 배열과 비교..

    BDSec CTF 2023

    BDSec CTF 2023

    다양한 분야의 문제가 나와서 재밌었습니다. 포너블, 리버싱 문제가 쉽게 출제된 부분은 아쉬웠습니다. 웹에서 백도어를 활용한 문제는 처음 경험해서 신기했습니다. PWN Ghost, anyaForger, callme 보호기법이 걸려있지 않고, BOF 취약점을 이용하는 간단한 문제 REV Lucky Number, Not That Easy GDB를 활용한 동적 디버깅을 통해 해결 가능 WEB Can you see me? (Junan 선생님의 힌트: "PHP 백도어 문제입니다") 삽질을 하던 중 다음과 같은 영상을 찾았습니다. https://www.youtube.com/watch?v=j-wmhJ8u5Ws PHP 버전에 따라 활용되는 백도어가 있고 해당 익스코드를 활용해 웹 쉘을 열 수 있는 듯 합니다. (공부가 ..

    AmateursCTF 2023

    AmateursCTF 2023

    문제가 다양해서 재밌었고 내년에도 하면 좋을 것 같습니다. PWN permissions 더보기 #include #include #include #include #include #include #include #include void setup_seccomp () { scmp_filter_ctx ctx; ctx = seccomp_init(SCMP_ACT_KILL); int ret = 0; ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0); ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0); ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP..

    ångstrom CTF 2023

    ångstrom CTF 2023

    고등학생을 대상으로 한 CTF라고 해서 참가해봤는데 생각보다 많이 어려웠습니다.. (아직 갈길이 멀다는 것을 깨달은..) PWN 1. queue 아이다로 디컴파일 해보면 다음과 같습니다. int __cdecl main(int argc, const char **argv, const char **envp) { __gid_t rgid; // [rsp+4h] [rbp-CCh] FILE *stream; // [rsp+8h] [rbp-C8h] char format[48]; // [rsp+10h] [rbp-C0h] BYREF char s[136]; // [rsp+40h] [rbp-90h] BYREF unsigned __int64 v9; // [rsp+C8h] [rbp-8h] v9 = __readfsqword(0x28..