콘텐츠로 건너뛰기

tiny_easy

Description checksec Decompiled src Analysis 그냥 단순히 실행시켰을때, LOAD:08048058 call edx 에서 edx를 호출하는 주소가 0x6d6f682f, 유효하지 않은 실행주소여서 크래시가 발생한다. checksec에서 확인해봤을때, 모든 보호기법이… 더 보기 »tiny_easy

ascii_easy

Description Files / checksec Source Code 로컬 libc 파일(/home/ascii_easy/libc-2.15.so)을 지정된 주소 BASE에 따라 0x5555e000에 RWX 권한으로 mmap한다. 사용자가 입력한 argv[1] 문자열에 비 ASCII 문자가 하나라도… 더 보기 »ascii_easy

otp

Description Source Code /dev/urandom에서 16바이트(8바이트씩 2개)를 읽어 otp[0]과 otp[1]에 저장한다. 임시 파일 이름을 /tmp/[otp[0]], 파일 내용을 otp[1] (8바이트)로 지정한다. 방금 만든 임시 파일을 다시 열어… 더 보기 »otp

simple login

Description Decompiled src 최대 30바이트의 Base64 인코딩된 인증 문자열을 입력받아 s 배열에 입력받을 수 있다. Base64Decode 함수는 s에 저장된 Base64 문자열을 디코딩하여, v4에 저장하고, 디코딩된… 더 보기 »simple login

cmd2

Description Source Code 모든 환경 변수를 지워버리고, putenv(“PATH=/no_command_execution_until_you_become_a_hacker”); 코드로 PATH 환경 변수를 제한된 값으로 설정하고, filter 함수에서 명령어 내에 “=”, “PATH”, “export”, “/”, ““및“flag”` 같은… 더 보기 »cmd2

lotto

Description Source Code Analysis lotto 배열 과 submit 배열을 비교해서 6자리 전부 다 맞추도록 설계했어야하는데 2중 for문을 사용허여 모든 조합을 검사하기 때문에, 중복된 숫자가 있을… 더 보기 »lotto

blackjack

Description Source Code Analysis cash_test 함수에서 cash 값이 1000000보다 크면 flag를 획득할 수 있다. 베팅 금액을 2148483648으로 설정해주면, cash 변수가 signed int 타입이므로, -2146483648 값이… 더 보기 »blackjack

mistake

Description Source Code Analysis strncmp에 브레이크포인트 설치하고, 각각 AAAAAAAAAA, BBBBBBBBBB를 입력했을때 gef에서 다음과 같은 결과를 볼 수 있다. 첫번째 매개변수는 A 10개가 들어갔고, 2번째 매개변수에는… 더 보기 »mistake

input2

Description Source Code Stage 1 argc는 프로그램에 전달된 인자의 개수로, 100개여야한다. A는 65의 16진수로, argv[65]가 “\x00″와 동일하여야 한다. B는 66의 16진수로, argv[66]가 “\x20\x0a\x0d”와 동일하여야 한다.… 더 보기 »input2