반응형

CTF 604

[EZCTF] Save peach! - 포너블 / Pyjail

어려움으로 분류된 포너블 문제였으나 대회 특성상(EZ) 그렇게 어렵지는 않은 문제였다. 포너블 문제가 전부 슈퍼마리오와 연관된 내용으로 구성되어 있었는데 첫번째가 파이프라인을 이용한 문제였다면 이번 문제는 Jail Escape 와 관련된 문제이다. 문제 설명에 Help her break out the python is near! 이라고 적혀있는걸 보니 python jail escape 문제인듯 하다. 별다른 바이너리 파일이나 소스코드 없이 원격 접속 주소만 제공이 되고 있다. nc 명령어를 이용해 위처럼 접속을 할 수 있다. 시험삼아서 hi 라고 입력해봤는데 아무런 응답 없이 >>> 표시만 출력되었다. 참고로 >>> 표시는 파이썬 쉘에서 자주 사용하는 프롬포터이다. 일단 해당 서버 내에 파이썬이 돌아가고..

CTF/포너블 2022.05.25

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

비교적 최근에 출제된 웹해킹(SSTI) 문제이다. SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 사용자에게 title과 page content를 입력을 받고 있다. 시험삼아 test title / test content 라고 각각 입력을 한 뒤, Render your page! 버튼을 눌러줬다. 그러면 이렇게 내가 입력한 값이 까만 화면에 하얀 글씨로 출력이 된다. 이게 이 웹페이지 기능의 전부이다. SSTI 공격을 할때는 먼저 서버..

워게임/Root Me 2022.05.24

[EZCTF] Bernie - 포렌식 / 스테가노그래피 / steghide

아주 쉬운 스테가노그래피 문제 알고보면 진짜 쉬운 문제인데 괜히 머리굴리다가 푸는데 오래걸렸다. 문제 설명에 I don't need protection when I have Bernie 라고 적혀있는데 don't need protection이 아주 큰 힌트였다.. 문제파일로 주어지는건 Bernie.jpg 파일이다. jpg파일을 열어보면 위에있는 사진처럼 나온다. 사진에 있는 분은 버니 샌더스(Bernie Sanders)라는 미국의 정치인인데 미국 사람들이 여러가지 밈으로 만들어서 사용하고 있나보다. 템플릿 형태로 밈을 제작해주는 웹사이트도 있다...;; (https://imgflip.com/memegenerator/Bernie-I-Am-Once-Again-Asking-For-Your-Support) 어쨌..

CTF/포렌식 2022.05.23

[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
반응형