파이썬에서 가상환경을 사용하는 이유 파이썬 개발을 할 때, 프로젝트마다 필요한 패키지와 버전이 다르기 때문에 종종 패키지 관리에 어려움을 겪게 됩니다. 또한 여러 패키지를 설치하다 보면 충돌이 일어나거나 어디에서 문제가 발생했는지 파악하기 어렵습니다. 이런 문제를 해결하기 위해 파이썬은 가상 환경 도구를 제공합니다. 가상환경에서 패키지를 설치하면 패키지 관리도 쉬울뿐더러 다른 컴퓨터 환경에서도 가상환경에서 사용된 패키지 목록들만 requirements.txt 파일로 쉽게 설치할 수 있습니다. 이번 글에서는 파이썬에서 가상 환경을 사용하는 이유와 그 장점에 대해 알아보겠습니다. 파이썬 가상환경 라이브러리 종류 venv(표준 라이브러리) 파이썬 3.3 버전 이상에서는 별도의 설치 없이 바로 사용이 가능한 장..
문제드림핵의 webhacking 로드맵 과정 중 Cross-Site-Scripting(XSS) 섹션의 첫 번째 단계인 xss-1문제를 살펴보겠습니다. xss취약점을 이용하여 플래그를 획득해야 합니다. 우선 웹사이트에 접속해 보겠습니다. 이런 화면으로 구성되어 있으며 vlun(xss) page와 memo와 flag와 메인페이지 총 네 페이지로 구성되어 있습니다. 1.@app.route("/") : 사용자가 웹사이트 접속 시에 처음으로 나오는 페이지입니다. 2.@app.route("/vuln") : 사용자가 /vuln페이지에 접속하면 param값을 반환하며 param값이 없다면 1을 반환합니다. 3.@app.route("/flag", methods=["GET", "POST"]) : GET과 POST 두 가지..
문제링크 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 & 출력 풀이 문제를 이해하기 위해 입력받는 변수를 x, y라고 생각하고 입력받은 3개의 x, y 좌표에 점을 찍은 뒤 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾아야 합니다. 첫 번째 입력된 예제로 설명해보면 x가 파랑 화살표, y가 검..
암호화 알고리즘에는 다양한 종류가 있습니다. 미국 국립표준기술연구소(NIST)에서 표준화한 대칭 블록 방식의 암호인 AES (Advanced Encryption Standard)에 대해서 알아보겠습니다. AES는 미 국가안보국에 의해 1급비밀(Top Secret)에 사용할 수 있도록 승인된 알고리즘 중 최초로 공개되어 있는 알고리즘입니다. 모듈 설치파이썬에서 사용할 수 있는 PyCryptodome 암호화 라이브러리를 사용해보겠습니다. pip install pycryptodome터미널에 다음 코드를 붙여 넣어 설치하실 수 있습니다. 필요 모듈 불러오기from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpadfrom Crypto.Rand..
문제드림핵의 webhacking 로드맵 과정 중 Cookie & Session 섹션의 Cookie 단계인 session-basic실습 문제를 살펴보겠습니다. 서버를 생성하여 문제 페이지에 접속하고, 문제 파일을 받아 파일의 내용도 함께 확인해 보겠습니다. 이전 문제 cookie와 유사하게 인사말이 나오고 로그인가능한 웹페이지로 구성되어 있습니다. 마찬가지로 admin계정으로 로그인하라고 하였으니 admin 계정이 사용하는 쿠키값으로 변조해 주면 되는데 이번에는 세션값도 함께 바꿔줘야 하나 봅니다. 문제해결방법다운로드한 문제파일의 코드 중 로그인 가능한 정보가 guest와 user가 있는데 guest로 로그인 후 확인해 보겠습니다. guest로 로그인하니 admin이 아니라고 나오고 개발자도구에서는 use..
문제 드림핵의 webhacking 로드맵 과정중Cookie & Session 섹션의 cookie실습 문제를 살펴보겠습니다. 문제 해결방법 문제파일을 다운받은뒤, vm서버를 생성한후 페이지( http://host3.dreamhack.games:????/ )로 이동합니다. 로그인 페이지로 이동하여 로그인을 해줘야하는데 문제에서 admin계정으로 로그인을 하면 플래그를 얻을수 있다고 하였으니 admin계정을 사용하여 로그인을 시도해보았지만 password wrong이 뜨네요. 다운받은 문제파일에는 app.py로 구성되어있는 파이썬 파일이 담겨져있습니다. 해당 파일의 코드를 살펴보겠습니다. #!/usr/bin/python3 from flask import Flask, request, render_template..