반응형

CTF 604

[CTFlearn] BruXOR - 암호학 / XOR

CTFlearn의 열여섯번째 문제 다시 난이도가 easy 로 돌아왔다. 사실 이 문제는 풀이수가 무색할만큼 아주 쉽게 풀 수 있다. 이번 문제는 암호학 문제이다. 제목을 보면 BruXOR 이라고 되어있는데 바로 떠오르는게 XOR 키값을 Burte Force(무차별 대입) 하는 것이다. q{vpln'bH_varHuebcrqxetrHOXEj 문제에서 주어지는 암호문은 위와 같다. 적절한 XOR 키를 찾아 연산해주면 된다. XOR은 두 명제 가운데 한 개만 참일 경우를 판단하는 논리 연산이다. 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 이렇게 둘다 0이거나 1일 경우 0이되고, 두 값이 1과 0으로 서로 다를경우 1이 되는 논리연산이다. 하지만 이렇게 일일이 계산안해..

워게임/CTFlearn 2022.08.26

[Root Me] Local File Inclusion - 웹해킹 / LFI

30점짜리 웹해킹 문제 문제 제목에서 알 수 있는것처럼 LFI (Local File Inclusion) 과 관련된 문제이다. 문제의 목표는 admin section 에 접속하는 것이다. 문제 페이지에 접속했을 때 화면이다 File viewer 라는 제목의 웹페이지로 이름 그대로 서버 내에 있는 파일을 보여주는 기능이 있다. 각각의 메뉴를 눌러보면 중요한 특징이 하나 보이는데 sysadm 메뉴를 클릭할 경우 URL 이 ?files=sysadm 으로 바뀌고, reseau 메뉴를 클릭할 경우 URL 이 ?files=reseau 로 바뀐다는 것이다. 나머지 메뉴들도 모두 똑같이 동작한다. 여기서 파일 이름은 index.html 를 클릭하면 index.html 의 내용을 볼 수 있다. 웹페이지의 오른쪽 끝에 보면..

워게임/Root Me 2022.08.25

[SharkyCTF] Give Away 1 - 포너블 / RTL / IDA / Peda / Pwntool

이전에 포스팅 했던 GIVE AWAY 0 보다 한단계 어려워진 문제이다. (https://hackingstudypad.tistory.com/237) 이전 문제와 차이점은 주어지는 파일을 보면 직관적으로 알 수 있는데 지난번에는 0_give_away 라는 바이너르 파일 하나만 제공되었으나 이번에는 give_away_1 바이너리 파일과, libc-2.27.so 파일이 같이 제공되는것을 볼 수 있다. 여기서 사용되는 기법은 RTL (Return To Libc) 라는 기법으로 ret 부분에 적힌 주소를 libc 영역으로 바꿔 libc 에 들어있는 함수를 불러와 실행하는 것이다. 이전 문제는 win_func 라는 shell을 실행시킬 수 있는 함수가 프로그램 내에 내장되어 있었다면, 이번 문제는 그런 함수가 없이..

CTF/포너블 2022.08.24

[CTFlearn] Don't Bump Your Head(er) - 웹해킹 / 헤더변조

CTFlearn의 열다섯번째 문제 두번째로 나온 Medium 난이도의 문제이다. 또 처음으로 풀이수가 10000 이하로 내려간 문제이다. 풀이수가 적은건 아무래도 문제가 어려워서라기 보다는 여기까지 꾸준히 하는사람이 그렇게 많지 않아서 그런듯 하다. 문제 제목에 Head(er) 이라고 적혀있는걸 보면 알 수 있듯이 간단한 웹 요청패킷 헤더 변조 문제이다. 문제 페이지에 접속하면 user agent 가 올바르지 않다면서 웹사이트에 접속할 수 없다는 문구가 나온다. 뒤에는 The one you supplied is : 라는 문구가 나오면서 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0..

워게임/CTFlearn 2022.08.23

[Root Me] DNS - zone transfert - 네트워크 / dig

Root Me의 네트워크 문제 사실 이전에 포스팅했던 네트워크 포렌식 문제들이랑 같은 카테고리에 있는데 이 문제는 포렌식은 아닌거 같아서 네트워크라고 따로 써봤다. 문제에 많은 정보가 주어지진 않는다. 불성실한 관리자가 ch11.challenge01.root-me.org 도메인에 대해 DNS 서비스를 설정해놨다고만 알려준다. 여기서 DNS는 Domain Name Service 의 약자로 www.naver.com 같인 도메인 이름을 ip 주소인 223.130.200.107 로 변환해주는 프로토콜이다. 위처럼 nslookup 형태로 변환된 ip 주소를 확인할 수 있다. 주소창에 223.130.200.107 이라고 입력하면 네이버에 접속이 될 것이다. 이걸 왜 쓰냐면, 사용자 편의성 때문이다. 인터넷을 사용할..

워게임/Root Me 2022.08.22

[CTFlearn] Vigenere Cipher - 암호학

CTFlearn의 열네번째 문제 드디어 암호학 다운 암호학 문제가 나왔다. 문제 제목에 써있는것처럼 비제네르 암호와 관련된 문제이다. Vigenere 암호는 프랑스 외교관 블레즈 드 비제네르가 개발한 암호이다. 문제 설명에도 써있는것처럼 시저 암호보다 진화된 형태로 알파벳 순서를 key에 맞게 바꿔서 암호문을 만들어 준다. gwox{RgqssihYspOntqpxs} 문제에서 주어진 암호문은 위와 같고, I’m not sure what this means, but it was left lying around: blorpy 이 문장에서 갑자기 뜬금없이 blorpy 라는 단어를 언급하는걸로 보아 key 값이 blorpy 인듯 하다. 비제네르 암호의 원리는 아주 간단하다. 이 표와 키값만 있으면 다 풀 수 있다..

워게임/CTFlearn 2022.08.21

[SharkyCTF] GIVE AWAY 0 - 포너블 / 버퍼오버플로우 / PEDA / IDA / Pwntool

오랜만에 풀이해보는 포너블 문제 포너블은 참.. 할수록 어려운것 같다. 문제에서 주어지는것은 0_give_away 바이너리 파일이다. 리눅스에서 file 명령어로 해당 파일을 확인해보면 64비트 ELF 파일인것을 확인할 수 있다. ELF는 리눅스에서 실행가능한 실행파일이다. 한번 프로그램을 실행시켜봤다. ./0_give_away 라고 입력하면 실행이 된다. 실행하면 아무 출력없이 사용자의 입력을 기다리고 있는다. hello 라고 입력해봤더니 그냥 프로그램이 종료되었다. 이번에는 무작정 a 를 많이 입력해봤다. 그랬더니 segmentation fault 가 떴다. 버퍼 오버플로우 공격이 가능할 것 같다. IDA 라는 디스어셈블러를 이용해 바이너리 파일을 살펴보았다. main 함수부터 봤는데 main 함수에..

CTF/포너블 2022.08.19

[Root Me] Java - Server-side Template Injection - 웹해킹 / SSTI

30점짜리 웹해킹 문제 문제 제목에 나와있는 Server Side Template Injection 문제이다. 오래전에 블로그에서 SSTI 관련된 문제를 다룬적이 있었다. (https://hackingstudypad.tistory.com/150) 그때도 역시나 Root Me에서 제공하는 문제였는데, 다른점이 있다면 그때는 Python 기반의 웹이었고, 이번엔 Java 기반의 웹이라는 것이다. SSTI는 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 이번 문제의 목표는 SSTI 취약점을 이용해 서버 운영체제 명령어를 실행하여 서버 내에 숨겨진 SECRE..

워게임/Root Me 2022.08.18

[CTFlearn] Hextroadinary - 암호학 / XOR

CTFlearn 의 열 세번째 문제 이번에는 암호학 문제이다. CTFlearn 에서 제공하는 문제들을 보면 아주아주 쉬운문제부터 아주 천천히 난이도를 올려가는거 같다. 조금 더 어려운 문제를 풀면서 포스팅 하고 싶은데 아직까진 너무 쉬운 문제들만 나와서 좀 아쉽다. 이 문제역시 암호학 카테고리에 있지만 암호라고 보기엔 너무 간단하다. 문제 설명을 읽어보면 세계 최고의 해커가 되기 위해서는 ROXy 라는 코더를 만나야 한다고 한다. ROXy는 짧은 코드의 암호를 만드는 대가라고 한다. 0xc4115 0x4cf8 그러면서 주어지는건 두 개의 16진수 값이다. 조금 경험이 있다면 ROXy 의 이름에서 벌써 눈치를 챘을 것이다. ROXy를 거꾸로 써보면 yXOR 이되는데, 대문자만 읽으면 XOR, Exclusi..

워게임/CTFlearn 2022.08.17

[SharkyCTF] Z3ROBOTWAVES - 리버싱 / IDA

리버싱 문제 그렇게 어렵진 않았는데 매우 귀찮은 문제였다. 문제 설명을 읽어보면 개발자가 어떤 로봇을 만들었는데 그 로봇이 잠겨서(Locked) 비밀번호를 요구한다고 한다. 문제에서 주어지는 파일은 z3_robot 파일이다. 리눅스 환경에서 file 명령어를 통해 어떤 파일인지 살펴보면 ELF 파일이라고 한다. ELF는 리눅스에서 실행가능한 실행파일이다. 터미널에서 ./z3_robot 이라고 입력하면 실행이 가능하다. 실행시켜봤더니 아까 들었던것 처럼 비밀번호를 요구하고 있다. 시험삼아 hello 라고 입력해봤는데 그랬더니 로봇이 기분나쁘게 웃으면서 프로그램이 종료되었다. IDA 라는 디스어셈블러를 이용해 문제파일을 살펴보았다. main 함수의 수도코드를 보면, fgets 함수를 이용해 s 라는변수에 사..

CTF/리버싱 2022.08.16
반응형