본문 바로가기

전체 글237

[TFCTF 2023] flip-out 1. 개요 분석 문제 2. 분석 - flag.txt에서 읽고 flag 변수에 담은 다음 이것을 또 buf 변수에 저장합니다. - input으로 받은 문자열을 atoi 함수로 integer로 변환하여 num 변수에 저장합니다. - num 변수가 129보다 작으면, input 위치+ (num & 256) 주소의 값을 출력합니다. - input과 buf의 차이 만큼의 수를 입력해야합니다. flag = fopen("flag.txt","r"); if (flag == (FILE *)0x0) { printf("Cannot find flag.txt."); uVar1 = 1; } else { fgets((char *)&buf,0x19,flag); fclose(flag); printf("Input: "); __isoc99.. 2023. 6. 4.
[seccon beginners ctf 2020] mask 1. 개요 or 문제 2. 분석 flag_a = "atd4`qdedtUpetepqeUdaaeUeaqau" flag_b = "c`b bk`kj`KbababcaKbacaKiacki" flag = "" for a, b in zip(flag_a, flag_b): flag += chr(ord(a) | ord(b)) print("flag", flag) # ctf4b{dont_reverse_face_mask} 2023. 6. 4.
[waniCTF 2023] only_once 1. 개요 off by one 문제 2. 분석 chall 변수가 0이되면 반복문이 종료됩니다. scanf에서 8바이트가 입력되면, 바이트 뒤에 null 바이트가 추가됩니다. scanf("%8s", buf); null 바이트가 추가되면, chall 변수가 0x00000000 이 되고 1 감소하면, -1이되서, if (chall == 0) 조건에 안걸리게되어서 반목분이 지속됩니다. from pwn import * # 1. connect p = remote("localhost", 9002) context.log_level = 'debug' e = ELF("../src/chall") """ Arch: amd64-64-little RELRO: Full RELRO Stack: No canary found NX: N.. 2023. 6. 4.
[tjCTF 2023] beep-boop-robot 1. 개요 morse 부호 문제 2. 분석 .wav 파일을 주는데 들어보면, 모스부호입니다. 이 사이트에 업로드하면 모스부호를 듣고, 텍스트로 변경해줍니다. https://morsecode.world/international/decoder/audio-decoder-adaptive.html flag는 전부 소문자라고 가이드를 주었기 때문에 파이썬으로 소문자로 변경하고 공백을 제거했습니다. contents = "T H I S I S A L L O N E W O R D L M A O" flag = "tjctf{" + "".join(contents.lower().split(" ")) + "}" print('flag', flag) # tjctf{thisisallonewordlmao} 2023. 5. 29.