반응형

해킹대회 617

[EZCTF] No Kidding - 암호학 / Multi-tap

암호학 문제 조금 신박했던 문제이다. 문제 제목이랑 설명에 kid 라는 단어가 계속 나오는데 이 부분이 힌트였다. 문제 파일로는 No Kidding.txt 파일이 주어진다. \\\444/7777\\\8/44/33\\\555/2/6/33/7777/8\\\222/8/333\\\333/555/2/4\\\33/888/33/33/33/33/777 파일을 열어보면 이런 내용이 써있는데 처음봤을때 솔직히 조금 당황했었다. 보통 암호학 문제를 받아보면 이게 어떤 암호겠구나 라고 대충 감이오는데 저렇게 생긴건 이때까지 문제를 풀면서 처음봤기 때문이다. 저 숫자들이 대체 kid와 무슨 연관이 있을까 고민을 하다가 갑자기 아이디어가 떠올랐다. 중고등학교 다닐때 썼던 폴더폰, 초기 스마트폰에서 많이 썼던(지금도 쓰지만) 천지..

CTF/암호학 2022.05.22

[EZCTF] Super Secure - 웹해킹 / SQL Injection

이번 대회에서 가장 쉬웠던 웹해킹 문제이다. 참고로 해킹대회에서 이번 문제 제목인 Super Secure 처럼 Secure 를 강조한다면 절대 Secure 하지 않은 시스템이다. 문제 설명 역시 This is so unbreakable! 이라고 적혀있는데 무조건 breakable 이다. 이번문제 역시 따로 웹 소스는 주어지지 않고, 문제페이지 주소만 주어진다. 문제 페이지에 접속하면 이런 화면이 나온다. 뭔가 사이버틱한 배경화면에 중간엔 로그인창이 있다. 아무래도 이 로그인 절차를 우회해야 하는듯 하다. 로그인을 우회하는 가장 잘 알려진 방법은 SQL Injection 취약점을 이용하는 것이다. 웹서버를 구현할 때 DB와 상호작용하는 로그인창, 게시판, 검색창 등등 부분에 SQL(Structrued Qu..

CTF/웹해킹 2022.05.21

[EZCTF] More Sense - 암호학 / 모스부호

뭔가 귀여운 느낌의 암호학 문제였다. 당연하지만 대회 이름처럼(EZCTF) 문제도 아주 쉽다. 문제 설명을 보면 This is too easy! 라면서 쉬움을 어필하고 있다. 문제 파일로 문제 제목과 같은 이름의 More Sense.txt 파일이 주어진다. BB BBBBB ABA AAA AAABB AABBAB BABB BBBBB AAB ABA AABBAB ABB AAAAB BABB AABBAB BBBBB AAB BBAAA AABBAB BBBBB AABA AABBAB AAAA AAABB ABA AAABB More Sense.txt 파일을 열어보면 위와 같은 내용이 들어있다. 처음에 이걸 봤을때 알파벳 A와 B로 이루어진 것을 보고 Bacon cipher 라고 생각을 했었다. Bacon cipher는 위 그..

CTF/암호학 2022.05.20

[EZCTF] OMG - 암호학 / Linux

특이했던 암호학 문제 사실 이 문제는 대회에서 암호학으로 분류되어 있긴 했지만 MISC(기타등등)에 더 어울리는 것 같다. 문제 설명도 읽어보면 귀여운데 이 문제에 대해서 죄송하고, 나 자신도 이거 만드는데 짜증났다고 적혀있다. 실제로 보면 조금 당황스럽긴 한 문제다. 문제 파일로 OMG 라는 이름의 바이너리 파일이 주어진다. Notepad++ 라는 도구를 이용해서 해당 파일을 열어보면 그냥 OMG 라는 단어가 수백개 써있는 모습이 보인다. (Notepad++는 다양한 기능이 내장되어 있는 성능 좋은 메모장이다.) 그런데 자세히 보면 OMG 단어가 무작위 하게 적혀 있는게 아니라 어떤 규칙이나 패턴이 있는것 처럼 보인다. 리눅스 환경에서 보면 조금 다르지 않을까 싶어서 OMG 파일을 칼리 리눅스로 복사한..

CTF/암호학 2022.05.19

[EZCTF] I made a blog! - 웹해킹 / LFI / PHP wrapper

LFI 취약점을 이용한 웹해킹 문제였다. 문제 소스는 별도로 주어지지 않고 문제페이지 주소만 주어진다. 문제 페이지에 접속해보면 이런 블로그가 나온다. 취약점이 발생하는 부분은 Blog 페이지이다. Blog 페이지에 가보면 위에 보이는거 처럼 게시글이 3개 저장되어 있다. 첫번째 게시글을 클릭한 뒤에 URL을 확인해 본다. ez.ctf.cafe:9999/blog-posts.php?file=blog1.html 이렇게 적혀있는데 URL에서 ? 뒤에오는 부분은 변수 라고 생각하면 된다. blog-posts.php 페이지에서는 file이라는 변수를 선언하고, 그 변수에 blog1.html 페이지를 담아서(불러와서) 사용자에게 보여주는 것이다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include(..

CTF/웹해킹 2022.05.17

[EZCTF] Mario bros! - 포너블 / Bash / Pipe

이번 대회는 대회 이름(EZCTF) 처럼 아주 쉬운 문제들로 구성된 대회였다. 그중 가장 쉬웠던 포너블 문제 슈퍼마리오 컨셉으로 만들어진 문제였다. 바이너리 파일은 따로 주어지지 않고 서버에 원격 접속할 수 있는 주소와 포트만 주어져 있다. 리눅스 환경에서 nc 명령어를 이용해서 원격 접속을 할 수 있다. 원격으로 접속하면 Are you root? 라고 물어보는데 시험삼아 yes 라고 입력했더니 내가 입력한 yes를 그대로 다시 echo 해주고, lol ur not root! 라는 문자열을 출력시킨다. 어떻게 풀어야 하나 고민하다가, 문제 제목을 보고 느낌이 팍 왔다. 슈퍼마리오를 한번이라도 플레이해본 사람은 이게 뭔지 알거다. 슈퍼마리오가 맵을 이동할 때 쓰는 파이프인데, 리눅스에서도 똑같이 파이프가 ..

CTF/포너블 2022.05.16

[angstromCTF] crumbs - 웹해킹 / Requests

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. 두번째로 쉬웠던 웹해킹 문제이다. 문제 설명에 Follow the crumbs 라고 적혀있는데 crumbs 는 부스러기 라는 뜻이다. 웬지 헨젤과 그레텔이 생각나는 문제였다. 역시나 별 다른 소스없이 문제 페이지 주소만 주어진다. 문제 페이지에 접속하면 아무것도 없고 딱 저렇게만 나온다. Go to ~~~~ 라고 적혀있는데, 저걸 URL에 그대로 쳐봤다. URL에 쳐보니 또다시 Go to ~~~ 라고 이번엔 다른 문자열들이 나온다. 문제 제목인 crumbs 처럼, 헨젤과 그레텔의 빵 부스러기처럼 저 주소를 계속 따라가야하는듯 하다. 한번 더 테스트해봤는데 역시나 또다시 G..

CTF/웹해킹 2022.05.15

[angstromCTF] The Flash - 웹해킹 / 자바스크립트

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. The Flash는 가장 쉬웠던 웹해킹 문제이다. 저스티스리그의 플래시를 컨셉으로 만들었고, 소스없이 문제페이지 주소만 주어진다. 문제 페이지에 접속하면 이런 화면이 나온다. 순간적으로 플래그가 나왔다가 this_is_not_the_flag! 라는 문구로 바뀐다. 이게 동영상으로 봐서 조금 느려보이는데 실제 환경에선 엄청나게 빨라서 자세히 안보면 글자가 바뀐지도 모른다 이런 문제는 f12를 눌러서 개발자도구를 이용해 풀 수 있다. 개발자도구의 '소스' 탭에 들어가보면 웹 소스를 확인할 수 있다. flash.js 파일이 보이는데 순간적으로 플래그를 출력시키는 부분을 난독화해..

CTF/웹해킹 2022.05.14

[UMDCTF] Sensitive - 포렌식 / PDF / Python

포렌식 문제 특별한 설명 없이 sensitive 라는 바이너리 파일 하나만 주어진다. 문제 파일인 sensitive 파일이다. 확장자도 없는 그냥 바이너리 파일같아 보이는데 HxD 프로그램으로 열어보면 PDF 파일인걸 바로 알 수 있다. 자세히보면 보통 PDF 파일과 조금 달라 보이는데 파일을 구성하는 모든 문자열 사이에 스페이스(\x20)가 들어가 있는걸 볼 수 있다. 참고로 일반적인 PDF 파일은 이렇게 생겼다. 여기서 모든 문자 사이에 스페이스바를 눌러 넣은 것이다. 이런 문제는 아주 간단하게 PDF 파일을 열어서 눌러진 스페이스바를 다 없애주면 된다. f1 = open('sensitive', 'rb') read = f1.read()[::2] f2 = open('output.pdf', 'wb') f..

CTF/포렌식 2022.05.12

[UMDCTF] Twilight Zone - 리버싱 / dnSpy

리버싱 문제 생각보다 어려워서 시간을 많이 투자했다. 문제파일로 TwilightZone.exe 파일이 주어진다. 주어진 exe파일을 실행시키면 이렇게 느끼한 아저씨 사진과 함께 비밀번호를 입력하는 창이 뜬다. 비밀번호칸에 hello 라고 시험삼아 입력해봤는데 당연히 틀린 비밀번호기 때문에 Not happening! 이라는 알람창이 뜬다. exe 파일이니 평소에 하던대로 디스어셈블러인 IDA 프로그램으로 열어보았다. 그런데 평소와 다른 인터페이스가 나왔다. .NET으로 개발하면 이런식으로 나온다고 한다. Mystery라는 함수가 있어서 내용을 살펴보는데 뭔가 암호화시켜서 저장하고 있는듯 보였다. 아무래도 비밀번호를 내부에 암호화해서 저장하고 있는듯 하다. IDA로 이리저리 보다 너무 가독성이 떨어져서 어떻..

CTF/리버싱 2022.05.11
반응형