본문 바로가기

전체 글

(66)
[attached]Write-up: [Logcon #4] [crypto] dGVhbWxvZw== 해당 파일을 풀려고 하면 암호를 입력하라고 한다. 맨 끝에 ==이 있다는 뜻은 base64로 인코딩 되어있을 확률이 크니 디코딩을 해보았다. 비밀번호를 입력하면 다음과 같은 zip파일이 나온다. 저 사진 3개를 차례대로 HxD로 뜯어보았다. 너구리는 정상적이고, 판다도 정상적이다. 하지만 레서판다는 이미지 끝에 zip파일이 더 있다는 것을 확인 할 수 있었다. 그 부분을 따로 옮겨서 .zip로 바꾸고 내용을 확인해보았다. 해당 사이트의 495번째줄의 사람의 전화번호가 Flag였다.
Write-up: [Logcon #4] [crypto] 우끼끼 docx파일을 열면 내 이름이 Caesar라면서 CnjvUxp{Xx_xX_jQ_Jq}를 풀어보라는 듯이 적혀있다. CnjvUxp{Xx_xX_jQ_Jq} 를 시저암호로 돌리면 Flag를 구할 수 있다. Flag : TeamLog{Oo_oO_aH_Ah}
Write-up: [Logcon #4] [crypto] 나연아 사랑해 해당 jpg파일을 메모장으로 열고 맨 밑으로 내려보면 플래그가 있다. Flag : TeamLog{1_L0v3_Twice_Nayeon}
Write-up: [고등해커3] [Reversing] OXR 코드는 아래와 같다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include char table[]={100, 108, 107, 98, 96, 104, 88, 77, 19, 84, 124, 18, 87, 80, 124, 87, 74, 78, 16, 124, 87, 76, 124, 80, 87, 23, 81, 87, 124, 81, 16, 85, 94}; int main(){ char input[34]; int i; int count=0; printf("input:"); scanf("%s",input); for(i=0;i
Write-Up: [고등해커3][Pwnable] BOF 코드는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include #include #include void setup() { setvbuf(stdin,0,2,0); setvbuf(stdout,0,2,0); setvbuf(stderr,0,2,0); } int main(void) { setup(); char buf[0x30] = {0, }; printf("Input : "); gets(buf); if(strlen(buf) > sizeof(buf)) { puts("This is Buffer Overflow !"); system("cat /home/BOF/flag"); exit(1..
Write-Up: [고등해커3][Crypto] Caesar Cipher 이름에서 시저암호라고 알려주고 있다. 해당 CTF의 플래그 포맷은 GOHACK{} 이니 X가 G임을 알 수 있다. C언어로 코드를 직접 작성해도 괜찮지만, CTF는 시간이 생명이므로 웹사이트로 찾아줘도 된다. planetcalc.com/1434/ Online calculator: Caesar cipher Caesar cipher is one of the oldest known encryption methods. It is straightforward - it is just shifting an alphabet. Transformation is termed ROTN, where N is shift value, and ROT is from "ROTATE" because this is a cyclic shif..
Write-Up: [고등해커3][Misc] Math World 계산기 2개 켜놓고 노가다해서 풀었다. 전문적으로 접근하고 싶다면 pwntools로 두번째 '[!] '부터 받은 다음에 '='까지 받은 다음에 '[연산자]'를 기준으로 각각 공백 1칸씩, 다음 공백을 만날때까지 숫자를 저장한다. 그러면 [숫자1] [연산자] [숫자2] 를 각각 구할 수 있을 텐데 이제 연산한 값을 [결과]에 저장하고, [결과]를 보내면 된다. 이 과정을 100번 반복하면 FLAG가 뜰 것이다. 2020.12.28 위의 내 뇌피셜을 Layer7 김도연이 증명해주었다.
Write-Up: [고등해커3][Misc] Netcat nc명령어를 어떻게 사용하는지 알려주는 문제이다. 그대로 복붙해서 리눅스에서 실행시키면 된다.