목록Study/MISC (18)
촉촉한초코칩
코드//Name: chall.c//Compile: gcc chall.c -o chall -no-pie -fno-stack-protector#include #include #include #include int main(int argc, char *argv[]){ if(argc == 2){ char filename[10]; char cmd[20]; int ruid = 0; int euid = 0; memcpy(filename, argv[1], sizeof(filename)); snprintf(cmd, 19, "cat %s", filen..
문제 파일#!/usr/bin/env python3import randomimport signalimport sysMENU_GAMBLE = 1MENU_VERIFY = 2MENU_FLAG = 3MENU_LEAVE = 4money = 500verified = Falsedef show_menu(): print('=======================================') print('1. go to gamble') print('2. verify you\'re a robot') print('3. buy flag') print('4. leave')def get_randn(): return random.randint(0, 0xffffff..
문제 파일 문제 파일에는 사진 하나가 주어진다. 스테가노그래피인줄 알았는데 이미지를 넣어봐도 아무것도 나오지 않았다.스테가노그래피 : 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술 혹은 그 연구를 가리킨다. 크립토그래피 (cryptography)가 메시지의 내용을 읽을 수 없게 하는 수단인 반면, 스테가노그라피는 존재 자체를 숨긴다. 풀이white space steganography를 힌트로 줬길래 찾아보았다. (참고 : https://swfs-swuforensics.tistory.com/736)white space steganography : 탭과 공백을 추가하여 텍스트 파일의 메세지를 숨기는 것. https://darkside.com.au/snow/index.html 에서 프..
코드 // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler);}int main(void) { int fd; char *flag; initialize();..
코드 // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30);}int main(int argc, char *argv[]) { int fd..
파일이미지는 이렇게 나온다. 시그니처를 살펴보았다. png 구조 https://ryanking13.github.io/2018/03/24/png-structure.htmlFile signature : 89 50 4E 47 0D 0A 1A 0A 8바이트50 4E 47 : ASCII 값으로 PNG를 나타냄 Chunk N개의 청크로 구성된다. 청크 타입은 여러 개가 있으며 그 중에서 모든 PNG 파일에 반드시 포함되어야 하는 청크는 IHDR, IDAT, IEND이다. 그 외의 쳥크는 PNG 파일 타입에 따라 요구되거나, 메타데이터를 저장하는 데에 사용된다. { Length (4 byte), # Chunk의 크기 Chunk Type (4 byte), # Chunk의 타입 Chunk..