반응형

전체 글 714

[WPICTF] ZOOP - 웹해킹

아주 간단한 웹해킹 문제였다. 별다른 문제 설명도 없고, 문제페이지 주소만 달랑 주어져 있었다. 문제페이지에 접속하면 이런 화면이 나온다. 맨 위에 Attach 버튼과 Send 버튼이 있는걸로 보아 뭔가 파일을 첨부해서 보내는 기능이 있는 웹페이지 인듯 하다. 내용을 살펴보면 Frank 라는 사람이 Johnson 에게 보낸 메일인데, 자기 컴퓨터가 이상하다고 스토리지 서버에서 파일좀 보내줄 수 있냐고 물어본다. (중간에 지운 부분은 나쁜말이 써있어서 지웠다.) 아래쪽에 보내줘야하는 파일의 주소도 같이 보내줬다. Attach 버튼을 눌러서 파일 첨부를 시도해본다. 아까 Frank가 알려준 스토리지에 저장된 파일이 주소를 입력하고, 아래쪽에 있는 Preview 버튼을 누르면 미리보기가 가능하다. 이런식으로 ..

CTF/웹해킹 2022.04.23

[Root Me] HTTP - Improper redicect - 웹해킹

15점짜리 웹해킹 문제 문제 설명을 읽어보면 Get access to index 라고 적혀있다. index 페이지로 접근을 해야하나 보다. 문제페이지에 접근하면 로그인 창이 나온다. 당연히 ID와 비밀번호를 모르기 때문에 로그인할 수 없다. 아까 문제 설명에서 index에 접근해보라고 했으니 index.php 페이지에 접근을 시도해본다. 주소창에 이렇게 index.php 라고 입력을 하면 자동으로 다시 login.php 페이지로 redirect 된다. 자세히 보기위해 f12를 눌러 개발자도구의 네트워크 탭을 이용해본다. 보이는것처럼 index.php로 접근을 할 경우 상태코드가 302 Found 가 오게 된다. 302 코드는 클라이언트가 요청한 리소스가 Location 헤더에 주어진 URL로 일시적으로 ..

워게임/Root Me 2022.04.22

[Root Me] HTTP - POST - 웹해킹 / 패킷변조

15점짜리 웹해킹 문제 문제 설명을 읽어보면 Top score를 얻기 위한 방법을 찾아보라고 한다. 문제 제목에 나와있는 POST는 HTTP 요청 패킷에서 사용하는 메서드의 종류 중 하나이다. POST 메서드를 사용하게 되면 서버로 데이터를 전달할 수 있다. 흔히 보는 로그인 창에서 로그인을 할때, 게시판에 게시글을 작성할때 POST 메서드를 사용한다. 문제페이지에 접속하면 이런 화면이 나온다. 아래있는 버튼을 클릭해서 999999 점을 넘으면 되는 문제인듯 하다. Give a try! 버튼을 누르면 위 처럼 랜덤한 숫자가 생성된다. 999999가 넘는 숫자가 나올때까지 버튼을 누르라는 의도인것 같다. Burp Suite 도구를 사용해서 Give a try! 버튼을 눌렀을때 웹 요청 패킷을 살펴본다. (..

워게임/Root Me 2022.04.21

[Root Me] HTTP - Headers - 웹해킹 / 헤더변조

15점짜리 HTTP 헤더변조 문제 문제 설명을 읽어보면 웹페이지의 관리자 권한으로 접근하라고 한다. 우선 문제페이지에 접속해본다. 접속을 하면 이런 화면이 나온다. Content is not the only part of an HTTP response! 라는 문구가 보이는데 콘텐츠가 HTTP 응답의 모든 부분이 아니라는 말이다. 문제 제목이 Header 이기 때문에 헤더를 먼저 살펴보도록 하자. f12를 눌러 개발자도구에 들어간 후 네트워크 탭을 선택한다. 그상태에서 웹페이지를 새로고침 하면 위처럼 요청/응답 패킷을 볼 수 있는데 응답 패킷의 헤더를 살펴보니 Header-RootMe-Admin 라는 이름의 헤더가 보이고, 그 값이 none 인걸 확인할 수 있다. 해당 헤더를 변조시켜 보자. https:/..

워게임/Root Me 2022.04.21

[CrewCTF] Corrupted - 포렌식 / NTFS / FTK Imager

디스크 포렌식 문제 문제 설명을 읽어보면 주어진 파일을 고쳐서 플래그를 달라고 한다. 주어지는 문제파일은 Corrupted.001 파일인데 확장자가 001인 파일은 디스크 이미지 파일이다. 이렇게 다운받으면 압축파일로 인식이 된다. 보통 이런 001 파일은 바로 압축을 해제하지 않고, 전용 프로그램을 이용해 살펴본다. 무료도구인 FTK Imager 를 사용해본다. (https://accessdata.com/product-download/ftk-imager-version-4-5) FTK Imager를 실행시켜서 lmage File을 선택해준다. 그런다음 주어진 Corrupted.001 파일를 선택해주고 Finish 버튼을 눌러주면 된다. Corrupted.001 파일을 열어보면 말 그대로 파일이 깨졌기 때..

CTF/포렌식 2022.04.20

[CrewCTF] Cuaas - 웹해킹 / SSRF / HTTP Smuggling

재밌게 풀었던 웹해킹 문제. Cleaning urls as a Service 라고 하는 새로운 서비스를 개발했는데, 이걸 공격할 수 있냐고 물음을 던진다. 문제페이지 주소가 주어지고, 웹 소스파일도 같이 주어진다. 문제페이지에 접속하면 이런 화면이 나온다. Clean url as a Service라고 가운데 크게 적혀있고, URL을 입력하는 칸이 중간에 보인다. 시험삼아 www.example.com 이라고 입력해보았다. 그랬더니 아래쪽에 host 이름만 잘라서 example.com 이라고 출력을 해준다. 복잡한 URL에서 host 이름만 골라 출력해주는 서비스인듯 하다. 이번엔 www.example.tld@naver.com 이라고 입력해봤다. 그랬더니 출력값이 naver.com 이라고 나왔다. 원래 ho..

CTF/웹해킹 2022.04.20

[CrewCTF] ez-xor - 암호학 / XOR

이번 대회에서 가장 쉬웠던 문제 암호학으로 분류 되었는데 제목부터가 이지 xor이다. 문제설명조차 간단하다. its simple xor 문제파일로는 flag.enc 파일이 주어진다. BRQDER1VHDkeVhQ5BRQfFhIJGw== flag.enc 파일을 열어보면 이렇게 인코딩된 문자열이 들어있다. 문자열을 봤을때 맨 뒤에 == 이 있다면 무조건 base64로 인코딩 되었다고 생각하면 된다. CyberChef(https://gchq.github.io/CyberChef)에 가서 base64로 디코딩을 해본다. .....U.9.V.9..... . 라는 값이 나오는데 아직까지 무슨말인지 알수가 없다. 왜냐면 이 문제에서 가장 중요한 XOR을 하지 않았기 때문이다. XOR을 하려면 KEY를 알아야 하는데 si..

CTF/암호학 2022.04.20

[DCTF] SQL Tutor - 웹해킹 / SQL Injection

웹해킹의 꽃이라고 불리는 SQL Injection 문제이다. SQL은 Structured Qurey Language의 약자로 데이터베이스에서 데이터를 조회, 삭제, 삽입 하기 위해 쓰는 언어이다. SQL Injection은 부정한 입력을 통해 서버에서 DB로 날리는 SQL을 조작해 데이터베이스를 공격하는 기법이다. 보통 서버와 DB가 상호작용을 하는 로그인창, 게시판, 검색창 등등에서 발생한다. SQL Injection이 가능하게 되면 DB에 저장되어 있는 중요한 정보들이 노출될 수 있어 상당히 위험한 취약점이다. 웹해킹 문제풀이는 캡쳐가 생명인데 아쉽게도 대회가 끝나고서야 문제를 풀어서 캡쳐가 아주 미흡하다.. 문제페이지에 접속하면 이런 화면이 나온다. SQL의 기초를 학습할 수 있게끔 만들어 놓은듯 ..

CTF/웹해킹 2022.04.19

[DCTF] Safe Space - MISC / Pyjail

이번 대회에 MISC 문제들은 다 어려웠던것 같다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다. 문제 설명을 읽어보면 safe space에 플래그를 숨겨두었다고 한다. 그리고 자기 콘솔에 접속할수 있도록 해준다고 적혀있다. 빨간색으로 적혀있는 nc 51.124.222.205 13379 가 이 문제의 접속 주소와 포트이다. nc 명령어를 이용해서 접속이 가능하다. 문제 서버에 접속하면 사용자의 입력을 받는다. 시험삼아서 cat flag / import os 이런 명령어들을 쳐봤는데 필터링이 걸려있는지 제대로 동작을 하지 않았다. 일단 문제 설명을 봤을때 사용자 입력을 ..

CTF/MISC 2022.04.19

[DCTF] Seek - 리버싱 / C / fseek

C언어 리버싱 문제이다. 문제 파일로 seek.c 과 flag.txt 파일 두개가 주어진다. flag.txt 파일을 메모장으로 열어보면 아무것도 써있지 않다. 파일이 잘못됐나 싶어서 다시한번 봤더니 크기도 0바이트인게 진짜 아무것도 안써있는게 맞았다. 다음으로 seek.c 파일을 열어보았다. 열어보면 752줄로 파일이 꽤 길다. 내용을 살펴보면 flag.txt 파일을 읽어서 fp 변수에 우선 저장한다. 그다음부터 약 700줄 가량은 fseek 라는 함수가 실행되고 있다. fseek 함수를 찾아봤더니 파일의 읽기/쓰기 위치 변경함수라고 한다. int fseek(FILE *stream, long offset, int origin) 이게 기본 문법이다. 매개 변수를 세개를 받는데 첫번째는 파일을 지정해주고(F..

CTF/리버싱 2022.04.19
반응형