분류 전체보기

보호되어 있는 글입니다.
프로젝트 개발은 남의 코드를 읽고, 내 코드를 쓰고, 좋은 코드를 생각하는 과정에 의미가 있다. 프로젝트를 만드는 기준다음 세 가지에 주의해서 만들어야 한다. 1. 개발 전에 충분히 기획해야 한다. - 머리속 구상이 아니라, 설계 문서로 끝나야한다. 설계가 어려우면 기존 앱을 참고하면서 구상해보자. 2. 가능한 간단하게 만들자. - 프로그램은 복잡할 수록 만들기 어렵기 때문에 가능한 간단하게 하자. 프로젝트는 완성하지 않으면 의미가 없다. - 만약 복잡하다면 간단한 프로그램들로 쪼개서 기획 해보자. 3. 코드 복사, 붙여넣기는 피하자 - 블로그 등에서 발췌한 코드를 짜집기 해서 적절히 가져다 쓰는 것은 OK - 여러 곳에서 참고하여 만든 프로그램도 OK - 강의 사이트나 책에서 제공된 코드를 사용한 소스..
특정 url에서 우리가 원하는 정보를 파싱해주는 매크로를 만들어보자~!  Requests 와 BeautifulSoup 의 기능Requests : http 요청을 보다 간단하고 인간 친화적으로 만들어줌BeautifulSoup : html과 xml 문서를 파싱하기 위한 패키지. html에서 데이터를 추출하는데 유용한 구문 분석 트리를 생성해줌예시 코드예시 코드에서 사용하는 고정 url의 html  import requestsfrom bs4 import BeautifulSoup as bs # "as bs"를 뒤에 붙이면 BeautifulSoup를 bs로 줄여서 사용 가능url = "접속 할 url" # 사용할 고정 url 선언page = requests.get("url") # requests.get()함수를..
이 문제에서 주목해야하는 취약점을 알려줬다 무슨 취약점인지 모르지만 일단 python의 pickle에서 Deserialize 취약점을 이용하여 문제를 풀면 되는 것 같다 문제 사이트에 들어가보자 'Create Session'과 'Check Session' 두 가지 탭이 존재한다 첫 번째 탭은 세션을 만드는 기능을 하는 탭인 것 같고, 두 번째 탭은 만든 세션을 조회하는 기능을 하는 탭인 것 같다 첫 번째 탭에서 Name, Userid, Password를 설정한 세션을 만들 수 있는 것 같고 두 번째 탭에서 만든 세션을 조회할 수 있는 것 같은데, 무슨 값을 session input에 넣어서 조회를 해야할지 모르겠으니 일단 첫 번째 탭으로 돌아가서 test 세션을 만들어보자 세 가지 값에 'test' 값을..
Flask란 Flask는 python 언어 기반의 마이크로 웹 프레임워크이다 마이크로 웹 프레임워크 : 프레임워크를 간결하게 유지하고 확장할 수 있도록 만든 것 Flask의 특징 1. 간결하다 Flask를 사용하면 파일 하나로 구성된 짧은 코드만으로도 완벽하게 동작하는 웹 프로그램을 만들 수 있다. 2. 확장성 있는 설계가 가능 Flask에는 폼과 데이터베이스 처리기능이 없다. Django에는 프레임워크 자체에 폼과 데이터베이스 처리 기능이 포함되어있다. 그래서 장고는 무겁다. 3. 자유도가 높다 Flask는 자유도가 높은 프레임워크이므로 최소한의 규칙만 있다. 그렇기 때문에 개발의 자유도가 다른 프레임워크에 비해 높다. Flask에서 프로젝트는 하나의 웹 사이트라고 생각하면 된다. 프로젝트 안에는 보통..
덧셈 식을 계산해주는 계산기를 구현한 웹인 것 같으니 들어가서 확인해보자 대충 입력에 "1+1" 이런식으로 입력하면 아래 "Enter the value"라고 적힌 곳에 결과가 "2"로 나온다 그럼 입력하는 input의 이름을 살펴보고 소스코드로 넘어가서 웹이 어떻게 이루어졌는지 살펴보자 이름은 "formula"인 것을 확인했고, 소스코드로 넘어가서 formula가 어떤 식으로 작동되는지 살펴보자 #!/usr/bin/python3 from flask import Flask, request, render_template import string import subprocess import re app = Flask(__name__) def filter(formula): w_list = list(string...
"그런데 외부로 요청하는 기능이 안전한 건지 모르겠다고 하네요…" 이 설명을 보고 SSRF 취약점을 사용하겠구나 생각했다. 외부로 요청하는 기능이 안전한지 모르겠다고 하니 우선 사이트에 들어가서 파일 업로드 페이지는 제쳐두고 이미지 요청 페이지를 집중적으로 파보기로 했다 이러한 페이지가 나오게 된다. 두 입력창에는 각각 'url'과 'title'이라는 이름으로 값이 전달되게 되는 것 같다 그렇다면 이제 소스코드를 살펴보자 from flask import Flask, request, render_template, url_for, redirect from urllib.request import urlopen import base64, os app = Flask(__name__) app.secret_key =..
코드 # collections를 Counter로 쓸 수 있음 from collections import Counter # 심사위원 수와 표를 입력 v = int(input()) a = input() # 입력받은 표를 collections를 통해 요소 개수별로 정리한 내용을 mycount에 저장 mycount = Counter(a) # mycount에 저장된 내용을 바탕으로 개수를 비교하여 결과 출력 if mycount['A'] == mycount['B']: print('Tie') elif mycount['A'] > mycount['B']: print('A') else: print('B') 파이썬의 collections함수를 호출하여 만들었다 collections 함수는 문자열을 딕셔너리로 만들어서 딕셔너..
candy3157
'분류 전체보기' 카테고리의 글 목록