전체 글 42

Web Hacking_Exercise: cookie🚩

1. 서론이번 강의에서는 잘못된 쿠기의 설계로 발생할 수 있는 문제점을 다루는 cookie 문제를 푼다.해당 문제의 목표는 관리자 권한을 획득해 Flag를 획득하는 것이다. 문제에서는 다음 두 페이지를 제공한다.2. 웹 서비스 분석엔드포인드(Endpoint)는 웹 애플리케이션에서 클라이언트가 서버에 요청을 보내는 특정 URL 경로를 의미한다. 클라이언트는 특정 엔드포인트에 요청을 보내어 원하는 작업을 서버에 요청하고 응답을 받는다. 2.1. 엔드포인트: /아래 코드는 인덱스 페이지를 구성하는 코드이다. 해당 페이지에서는 요청에 포함된 쿠키를 통해 이용자를 식별한다. 만약 쿠키에 존재하는 username이 "admin"일 경우 FLAG를 출력한다.#index 페이지 코드@app.route('/') # / ..

Dreamhack 2024.09.17

Web Hacking_cookie & session

1. 서론웹 서버는 수많은 클라이언트와 HTTP 프로토콜을 사용해 통신한다.고객 계정으로 로그인 했다면 고객이 이용할 수 있는 서비스를, 관리자 계정으로 로그인 했다면 데이터베이스, 회원 관리 등의 관리자 페이지를 제공해야한다. 그렇다면 웹 서버는 수많은 클라이언트를 어떻게 구별하고 서로 다른 결과를 반환해줄까?HTTP 프로토콜로 웹 서버와 통신할 때에는 웹 서버에 명령을 내리기 위해 GET, POST와 같은 메소드와 자원의 위치를 나타내는 URL 등이 포함되어있다. 이외에도 헤더(Header)를 통해서 웹 서버에게 요청을 보내고, 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환한다. 이때 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터가 포함되는데, 클라이언트의 인증 정보 또한 ..

Dreamhack 2024.09.17

Web Hacking_devtools-sources🚩

1. 문제 설명개발자 도구를 사용해서 DH 형식의 flag를 찾으면 될 것 같다.Chrom이 개발자 도구를 지원하니 처음에는 chrom으로 코드를 살펴보려고 했다.2. 문제 풀이문제 파일을 다운로드 받으니 생각보다 뭐가 많다.그래서 Chrom으로 코드를 살펴보는 대신 VSCode를 사용해서 'flag'나 'DH' 문자열을 찾아보기로 했다. 특정 파일에서 DH 형식의 문자열이 출력되었고 {}로 닫혀있으니 flag인 것 같았다. 역시나 flag가 맞았다.

Dreamhack 2024.09.17

[공부] 파이썬 가상환경 Venv 이해

1. Python 가상환경가상환경(Virtual Environment)은 파이썬에서 독립적인 프로젝트를 위한 개별적 공간을 의미한다.가상환경은 이런 이점을 가진다.프로젝트 분리: 다양한 프로젝트에서 서로 다른 라이브러리 버전을 사용할 수 있어, 한 프로젝트에서의 변경이 다른 프로젝트에 영향을 미치지 않는다.의존성 관리: 프로젝트별로 필요한 라이브러리와 버전을 명확히 관리할 수 있어 코드의 호환성 및 재현성을 높일 수 있다.개발 환경 일관성: 다른 개발자와 협업할 경우 같은 환경에서 작업함으로써, 발생할 수 있는 문제를 최소화한다.(나의 경우 flask 버전 충돌이 지속되는 문제를 해결하기 위해 방법을 찾던 중 가상환경을 알게되었다.)2. Venv 가상환경Venv(Virtual Environment)는 파..

카테고리 없음 2024.09.12

[공부] Port & IP & Port Forwarding

1. 포트포트(Port) = 논리적 접속 장소인터넷 프로토콜인 TCP/IP를 사용할 때 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용한다. 하나의 IP에서 여러 애플리케이션을 실행할 경우, 즉 컴퓨터 하나로 인터넷 접속도 하고 메일도 보내는 경우 컴퓨터에는 여러 개의 서버가 실행되게 된다 (웹 서버, 메일 서버). 네트워크 상에서 통신을 할 때에는 IP주소를 바탕으로 해당 서버가 있는 컴퓨터에 접근하지만, 이런 경우에는 IP주소만으로는 어느 서버로 요청을 보내는지 알 수 없다. 따라서 포트 번호를 통해 reciver을 특정하여 어느 서버로 보내는 요청인지 알려줘야한다.2. 포트 - 예시와 함께 이해하기www.naver.com:80이라고 URL 입력창에 입력하면 www.n..

WebHacking 2024.09.12