
[Python] 코딩도장 공부 (Unit 31~40)
Unit 31. 함수 재귀호출 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 한다. def fib(a): if a
Unit 31. 함수 재귀호출 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 한다. def fib(a): if a
Unit 21. 터틀 그래픽스 다음 사진처럼 turtle 모듈을 import해주고 shape로 창을 띄운다. Python Turtle Graphics로 forward, right 등을 통해 거북이를 이동시킬 수 있다. 해당 내용을 응용하여 다음처럼도 진행할 수 있다. speed를 가장 빠르게 하고, 원을 반복해서 그리는 것이다. import turtle as t n, line = map(int, input().split()) t.shape('turtle') t.speed('fastest') for i in range(n): t.forward(line) t.right((360 / n) * 2) t.forward(line) t.left(360 / n) Unit 22. 리스트와 튜플 리스트를 조작하는 메서드에..
Unit 11. 시퀀스 자료형 시퀀스 객체에는 요소가 여러 개 들어있는데, 이러한 요소의 길이(개수)를 구할 때는 len 함수를 사용한다. 시퀀스객체에는 시퀀스객체[인덱스]로 인덱스에 접근할 수 있다. 슬라이스는 a[0:4] 처럼 사용할 수 있는데, 4-1인 3까지 접근한다. a[2:8:3] 처럼 사용하게 되면, 2부터 3씩 증가하면서 2, 5에 접근한다. 시작인덱스:, :끝인덱스처럼 사용하면 생략하여 전부 출력할 수 있다. [::] 로 사용하면 리스트 전체를 가져온다. 슬라이스객체 = slice(시작인덱스, 끝인덱스, 인덱스증가폭) 처럼 사용할 수도 있다. 인덱스 증가폭을 지정하면 슬라이스 범위의 요소 개수와 할당 요소 개수가 정확히 일치해야 하고, 일치하지 않으면 에러를 출력한다. del 시퀀스객체[..
Unit 1. 소프트웨어 교육과 파이썬 C언어 코딩도장에 나온 내용과 거의 동일하다. 이러한 과정에서 파이썬은 네덜란드 귀도 반 로섬이 개발한 프로그래밍 언어로, 연구실 문이 닫혀 있어서 취미삼아 파이썬을 만들었다고 한다. (...?!) 참고로 파이썬 로고가 뱀 모양인 이유는 python 본 뜻이 비단뱀이라 그렇다고 한다. 파이썬의 특징은 쉽고 간단한 문법으로 배우기가 쉽고, 객체 지향 언어이며 다양한 패키지 및 오픈 소스라는 점이다. (그리고 구글링하면 정말 많은 자료가 나오는 언어 중 하나이다) Unit 2. 파이썬 설치하기 파이썬을 설치하는 과정이 나온다. 이미 컴퓨터에 파이썬이 설치되어 있기 때문에 간단하게 버전만 확인해보자. python 버전을 확인하는 방법으로는 두 가지 정도가 있는데, pyt..
연휴가 끝나고, 못 푼 1일 1문제를 몰아서 풀어보려고 한다. 연휴때는 제8회 BoB BISC CTF를 참여했는데, 2문제밖에 못풀었다.. (대충 2개만 풀고 놀러가서 못했다는 핑계) (사실 어려워서 못품 ㅋ..) BISC CTF 기간이 끝나면, 풀었던 문제 writeup을 올려볼까 한다. 그 중에서도 포렌식문제는 상위권으로 풀었다 ! 잡소리는 여기까지 하고, 이번 문제 정보는 다음과 같다. 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 그리고 주어지는 문제 파일과 홈페이지는 다음과 같다. 간단하게, 메인페이지와 로그인페이지가 나온다. 해당 웹은 flask로 작성되어 있다. #!/usr/bin/python3 from ..
1일 1문제 START 이번에 풀어볼 문제는 Path Traversal 취약점을 이용하여 /api/flag에 있는 플래그를 획득하는 것이다. 해당 Path Traversal 취약점이 무엇인지 우선 알아보자. Path Traversal(Directory traversal)이란? 사용자로부터 입력 받은 path 형태의 백엔드에서 서비스 처리 로직이 존재할 때, 이를 조작하여 원하는 경로로 해커가 접근하여 동작을 수행하는 공격기법을 의미한다. File을 처리하거나 절대, 상대경로와 같은 구문으로 상위 디렉토리로 접근하거나 허용된 디렉토리 범위를 벗어나 공격을 수행하여 Directory traversal 이라고도 하는것 같다. ✔️ 여기에서 나오는 traversal이란? : 순회라는 뜻으로 보통 트리 순회(Tr..