SECURITY

SECURITY/System | Wargame

[Pwnable.kr] ShellShock

​ Pwnable.kr shllshick 문제풀이 ! 현재 디렉토리 안에는 flag, shellshock 실행파일, shellshock.c 소스코드 그리고 bash가 있다. shellshock 취약점을 활용하는 것 같아 해당 취약점에 대해 찾아보았다. ​ ​ * ShellShock(CVE-2014-6271) - GNU bash shell에서 환경변수를 통해 공격자가 원하는 명령어를 실행하게 하는 취약점 - 명령어 만으로 시스템을 장악할 수 있어 CVSS 등급 10점을 받음 - 특정 bash 버전의 환경변수와 환경변수 함수 선언에서 나타날 수 있는 버그를 통해 명령어 실행 - 함수 선언 이후에 공격자가 임의적으로 삽입한 시스템 명령어까지 실행 - 형식 : VER= (){ return; }; /bin/id ..

SECURITY/System | Wargame

[Pwnable.kr] Mistake

​ Pwnable.kr 사이트에 hint가 주어져있다. operaort priority 즉 연산자 우선순위를 생각해야하는 문제인 것 같다. 연산자 우선순위를 배운게 무려 이년전이라 흠칫 ​ ​ ​ ls 명령어로 디렉토리에 있는 파일을 확인해보니 flag, mistake 실행파일 mistake.c 소스코드, password ​ ​ ​ password 파일이 어떤 역할을 하는지 궁금했으나 cat으로 읽을 수 있는 파일은 아니었고, 우선 읽을 수 있는 mistake.c 파일을 읽어보았다. ​ ​ ​ 먼저 void 형의 xor 함수와 main 함수가 선언되어있다. main 함수의 내용을 보면 password 파일의 내용을 pw_len만큼 읽어와 pw_buf 리스트에 저장한다. 이후 scanf() 함수로 입력 값..

SECURITY/System | Wargame

[Pwnable.kr] Input2

input 문제의 디렉토리를 확인해보니 flag, input 실행파일, input.c 소스코드가 들어있다. ​ input 파일을 실행해보았지만 별다른 소득을 얻지 못했다. ​ ​ input.c 파일을 읽어보았는데 긴 코드가 들어있다. 차근차근 파악을 해보자면, 선언되어 있는 함수는 main 함수 하나이다. Stage 1 [ argv ] argc를 통해서 검사하는 전체 인자의 갯수는 100개여야함. argv[ 'A' ] 는 "\x00"이여야 함 // argv[ 'A' ] = argv[65] argv[ 'B' ]는 "\x20\x0a\x0d"여야 함 // argv[ 'B' ] = argv[66] ​ Stage 2 [ stdio ] chat 형의 buf 리스트를 4byte 만큼 선언한다. read로 읽어온 bu..

SECURITY/System | Wargame

[Pwnable.kr] Random

ls 명령어로 어떤 파일이 있는지 확인하였다. flag 파일과 실행파일인 random, 소스코드인 random.c 파일이 있다. ​ ​ ​ random.c 소스코드를 먼저 읽어보았다. 함수는 main 뿐이며 먼저 random 변수를 선언했다. random 함수를 사용하여 난수를 생성하고, 이를 random 변수에 대입한다. srand(time(NULL))이 아닌 random을 사용하고 있으므로 불규칙적인 seed 없이 난수가 생성되고 있다. ​ key 변수를 선언하고 scanf 함수를 사용하여 사용자로부터 입력을 받는다. if 문을 통해 key 값과 random 값을 XOR 한 값이 0xdeadbeef와 일치하는지 확인하고 일치할 시에 "Good!"과 함께 flag 값을 출력한다. ​ ​ * random..

yuujoeng
'SECURITY' 카테고리의 글 목록 (13 Page)