728x90 반응형 전체 글201 [2024 IS_LAB CTF] Robots REVENGE 풀이 문제 풀이 기본 페이지다. 이전 Robot 문제와 같이 robots.txt를 확인해주자. 이번엔 /c0re_system.php라는 페이지로 이동해야한다. 이번엔 클릭을 무수히 많이 해야한다. 하지만 약 15초의 시간 제한이 걸려있다. 시간이 되면 you lose라는 alert 창과 함께 index페이지로 이동한다. 자바스크립트는 웹 브라우저 엔진 위에서 돌아간다. 따라서 설정을 통해 자바스크립트의 사용을 끌 수 있다. 자바스크립트를 끄고 천천히 분석해보자. `설정 - 개인 정보 보호 및 보안 - 사이트 설정 - 자바스크립트`를 통해 자바스크립트를 끌 수 있다. 개발자 도구를 통해 해당 페이지 소스를 확인해봤다. head에 자바스크립트 파일을 받아오는 것을 확인할 수 있다. `개발자 도구 - 소스`로 이동.. 2024. 2. 5. [2024 IS_LAB CTF] Under Construction 풀이 문제 풀이 admin 계정으로 접속하면 되는 문제다. 어떤 입력을 해도 로그인이 되지 않는다. 접근을 막아놓은 상태이다. vim으로 코드를 수정하다가 강제종료됐을 경우 swp파일이 생성된다. swp 파일을 찾아보자. swp 파일은 기존 파일이 index.php인 경우 .index.php.swp로 저장된다. 위와 같이 입력하면 복구된 페이지를 볼 수 있다. `adminCookie` - `TH15_15_4DM1N_CO0K13` 라는 키 - 값 쌍의 쿠키를 설정하고 접근하면 flag를 얻을 수 있다. 쿠키 설정 방법은 `개발자 도구 - 애플리케이션 - 우클릭 - 새로 추가`를 통해 만들 수 있다. 출제 의도 갑작스럽게 종료됐을 경우 swp 파일이 생성된다. 이 파일을 제대로 처리해주지 않으면 서버의 코드가 유.. 2024. 2. 5. [2024 IS_LAB CTF] Robots 풀이 문제 풀이 robots.txt를 확인하는 문제이다. robots.txt를 확인하면 flag를 찾을 수 있다. 출제 의도 robots.txt는 루트 디렉토리에 위치하여 웹 크롤러가 사이트의 어느 부분을 크롤링 할 수 있고 없는지를 나타낸다. 만약 민감한 정보를 가진 경로를 직접적으로 나타낸다면 숨겨진 섹션을 크래커에게 제공하는 꼴이 된다 (예를 들어 `/admin` 페이지) . 따라서 해당 페이지에 접근하기 위해서 적절한 인증 기능을 요구하거나, 접근해도 괜찮은 부분만 allow하는 방식으로 바꿔볼 수 있다. 2024. 2. 5. [드림핵] file-csp-1 풀이 https://dreamhack.io/wargame/challenges/36 file-csp-1 문제에서 요구하는 조건에 맞게 CSP를 작성하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io csp에 대해 공부해볼 수 있는 문제다 초기 페이지다. Test 페이지와 Verify 페이지로 나뉘어져 있는 것이 보인다. #!/usr/bin/env python3 import os import shutil from time import sleep from urllib.parse import quote from flask import Flask, request, render_template, redirect, make_response from .. 2024. 2. 5. [Node.js] 4장 4.1 요청과 응답 이해하기 Node.js에서 HTTP 요청(Request)와 응답(Response)은 클라이언트와 서버 간의 통신을 처리하는 데 사용된다. Node.js의 http 모듈은 이러한 통신을 구축하고 관리하기 위한 기본적인 인터페이스를 제공한다. HTTP 요청(Request) http 요청은 클라이언트가 서버에 정보를 요청하거나 서버의 상태를 변경하기 위해 보내는 메시지이다. Node.js에서 `http` 모듈을 사용하여 HTTP 서버를 만들 때, 요청 객체는 다음과 같은 주요 속성과 메서드를 포함한다. req.url: 클라이언트가 요청한 URL의 경로와 쿼리 문자열을 포함한다. req.method: HTTP 요청 메서드를 나타낸다(예: GET, POST) req.headers: 요청 헤더를.. 2024. 2. 4. [Node.js] 3장 3장 노드 기능 알아보기 노드를 직접 사용하며 익혀보자. 3.1 REPL 사용하기 REPL(Read-Eval-Print Loop)은 사용자로부터 입력을 받아서 실행(read), 그 결과를 평가(eval), 결과를 출력(Print)하고, 이 과정을 반복(Loop)하는 대화형 프로그래밍 환경을 의미한다. REPL 환경은 개발자가 즉시 코드를 실행해보고 결과를 볼 수 있게 해준다. 따라서 실험, 디버깅, 학습에 매우 유용하다. REPL 환경의 종류는 아래와 같다. 브라우저 콘솔 Node.js REPL 온라인 REPL 플랫폼 3.2 JS파일 실행하기 명령 프롬프트에 node를 입력시켜 사용하기에는 여러 줄의 코드를 실행하기에는 불편하다. JS 파일을 만들어 사용하면 이 문제를 해소할 수 있다. 콘솔에서 node.. 2024. 2. 4. 이전 1 ··· 19 20 21 22 23 24 25 ··· 34 다음 728x90 반응형