2024 SWLUG/Dreamhack 27

4주차_CTF 문제풀이(1) - phpreg

▶문제​​​▶풀이서버에 접속하니 위와 같이 닉네임과 패스워드를 입력하는 화면이 나왔다. 이 두가지를 입력해야 step 2로 넘어갈 수 있다. 문제 파일을 다운 받으니 index.php와 step2.php 두 가지 파일이 있다. 우선 step2로 넘어가야하니까 step2.php파일을 살펴보았다. 위의 사진은 복잡한 코드들 중 nickname과 password에 관련된 부분이다. name == "dnyang0310", pw == "d4y0r50ng+1+13"으로 name과 pw가 그대로 나와있었다. 근데 위의 name과 pw를 입력하면 step2로 넘어갈 수 없다. 다시 코드를 잘 보니 비밀번호에 필터링이 적용되었다는 주석을 발견할 수 있다. 즉, 사용자로부터 입력받은 값에 필터링이 적용되어 해당 값들을 그..

3주차_CTF 문제풀이(2) - Flying Chars

▶문제​​​▶풀이페이지를 들어가자마자 문자들이 마구 날라다닌다. 이 문자들을 멈춰야한다는 것인데...일단 이 문제는 첨부파일을 제공하지 않았기 때문에 f12를 눌러 개발자 도구로 일단 들어가보았다.sources 창에서 코드들을 확인할 수 있었다. 역시 복잡하다..."const img_files = [~]"을 보니 이미지 파일 배열에 대한 코드인 것 같다. 다 해석할 수는 없을 것 같아 혹시 더 살펴볼 부분이 있나하고 보던 중왼쪽에 이미지 파일들이 쭉 있었다!0번부터 19번까지 있었고 하나씩 확인해봐서 조합하면 전체 문자열을 알아낼 수 있을 것 같다!​※여기서 주의할 점이 있다! 0번 이미지부터 차례대로 보면 답이 아니다. 다시 위의 코드를 살펴보면이렇게 배열의 요소들이 순서대로 적혀있다. 이 순서대로 조..

3주차_CTF 문제풀이(1) - php7cmp4re

▶문제​​​▶문제 속 용어 정리PHP: Personal Home Page. 웹 사이트 제작에 사용되는 프로그래밍 언어이다. ​​​▶풀이문제 사이트에 접속했더니 위와 같은 화면이 나온다. 2개의 input값을 알아야한다. 일단 여기서 더 알아낼 수 있는건 없어서 문제 파일을 다운 받았다. check.php , flag.php, index.php 3가지 파일 중 우선 index.php 파일을 먼저 들어갔다.index.php알아보기 힘든 코드들이 많았다. 어차피 input 값만 알면 되니까 input에 관련된 부분만 보았다.텍스트를 입력하고 제출을 클릭하면, 입력한 데이터가 check.php로 POST 방식으로 전송한다는 뜻이다. 그래서 check.php 파일을 열어보았다. check.php이 파일의 코드도 ..

2주차_ CTF 문제풀이(2) - Carve Party

▶문제​​​▶풀이언제나 그렇듯 문제 파일부터 다운 받아준다. 크롬 파일이 하나 보인다. 호박 사진과 함께 10000번 클릭하라는 문구가 나온다. 클릭하면 어떤 변화가 생기는지 궁금해서 몇번 클릭해보았다.클릭할수록 호박에 디자인이 추가됨을 알 수 있었다. 실제로 10000번을 다 클릭할 수는 없으니...개발자 도구를 활용하여 코드부터 확인해보았다.수많은 코드들이 보인다. 쭉 확인해보다가 클릭과 디자인 추가에 대한 코드를 발견하였다. 이 부분을 통해 flag값을 구할 수 있을 것 같다. 코드를 살펴보니 counter 변수를 0으로 초기화 하고, if문을 사용하여 counter의 횟수가 특정 범위의 횟수만큼 증가하면 디자인을 하나씩 추가하는 것 같다. 즉, 여기서 counter 변수를 클릭한 횟수로 이해하면 ..

2주차_ CTF 문제풀이(1) - devtools-sources

▶문제​​​▶문제 속 용어 정리개발자 도구(DevTools)개발자들이 홈페이지를 수정하고 발생한 문제의 원인을 쉽게 파악하기 위해 브라우저에서 제공하는 도구※단축키: 윈도우 기준 f12​Sources 탭: 스크립트 디버깅 탭※디버깅: 프로그래밍 중 발생하는 오류 또는 버그를 찾고 수정​→ 기능① 파일 확인② Javascript와 CSS 수정(CSS: 웹페이지를 꾸미려고 작성하는 코드)③ Snippet들을 작성하고 저장하고 실행(Snippet: 재사용, 반복 등이 가능하여 반복 타이핑을 막아주는 개발 코드나 텍스트 등의 작은 부분)④ Javascript 디버깅⑤ 개발자도구에서 변경한 내용이 코드로 저장될 수 있도록 workspace 설정​​​▶풀이우선 문제 파일을 받아보았다. 파일 속 내용이 많다. 이 문..

1주차_CTF 문제풀이(2) - session

▶문제(1) - cookie와 문제는 비슷하다. 다만, 이 문제에서는 세션으로 인증 상태를 관리한다는 내용이 추가되었다. ​​​▶문제 용어 정리세션→ 사용자가 웹 브라우저를 통해 웹서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점까지의 클라이언트의 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술.즉, 방문자가 웹 서버에 접속해있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.​→ 쿠키의 경우는 사용자의 정보를 사용자 컴퓨터 메모리에 저장하는 반면세션은 방문자의 요청에 따른 정보를 방문자 메모리에 저장하는 것이 아닌 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장한다. ​→ 쿠키와 다르게 서버에 저장되므로 비교적 보안이 필요한 데이터는 쿠키보..

1주차_CTF 문제풀이(1) - cookie

▶CTF란?Capture The Flag. 주어진 시간 안에 보안 문제를 풀고 깃발(정답)을 찾아 득점하는 해킹대회이다. 보안 설정을 구성하고 시스템의 취약점을 찾아내며 해킹 및 포렌식 등 다양한 보안 주제에 대한 경쟁을 한다.​​ ▶문제​​​▶문제 속 용어 정리쿠키: 사용자가 어떤 웹사이트를 방문할 때 해당 웹사이트에서 사용자의 브라우저에 저장되는 작은 데이터 파일※브라우저: 네이버, 구글 등 사이트에 접속할 수 있는 도구 ​→ 즉, 사이트가 사용하게 되는 일련의 작은 기록 파일이라고 할 수 있다. 해당 웹사이트를 방문할 때마다 인터넷 사용자의 정보를 수집하고 저장합니다.​→ 형태: key-value 형식의 문자열 형태로 저장※key : value로 표현 ex) "Set-Cookie" : "id=us..