본문 바로가기

전체 글96

호기심 파이썬(제어문 중 반복문 : for문) 이번에는 for문에 대해서 알아보겠습니다. for문은 특정 범위를 반복할 때 유용하게 사용됩니다. 예를 들어 1에서 100까지의 합을 구할 때, 30명 학생들의 등급을 분류할 때 등등 정해진 범위에서 사용하기 아주 유용한 반복문입니다. 반복문을 사용하는 이유는 반복적인 코드를 단순화하여 코드의 길이를 줄이고 가독성을 높이는 역할을 합니다. 만약 리스트 자료형에 들어있는 성적 데이터를 60점 이상은 합격이라고 결과를 도출하고 싶을 때 반복문을 사용하지 않는다면 어떻게 될까요? 직접 경험해보겠습니다. 합격 불합격을 구분하기 위하여 if ~ else을 총 6개 적어야 합니다. 복붙을 이용하면 6개정도는 일도 아니지만 30명, 100명이라면 힘들 것 입니다. 때문에 반복문이 필요합니다. 구조를 보고 설명은 아래.. 2022. 4. 18.
호기심 파이썬(제어문 중 조건문 : if문) 프로그래밍에서 코드의 흐름을 제어하는 문법을 제어문이라고 합니다. 이번에는 제어문 중 하나인 조건문(if문)에 대해서 알아보겠습니다. 보통 조건문이라고 하면 거의 if문을 의미합니다. try 문법도 있지만 이 부분에서는 다루지 않겠습니다. if문은 참(True)과 거짓(False)에 따라서 프로그램의 흐름이 달라지는 문법입니다. 예를 들어 수학 성적이 60점이 넘으면 합격, 60점보다 낮으면 불합격이라고 할 때 철수의 수학 성적이 85점 이라면 철수는 합격이라고 할 수 있겠습니다. 즉, 식으로 표현하면 수학 성적 > 60 이렇게 표현할 수 있습니다. 수학 시간에 했던 부등호가 프로그래밍에서도 동일하게 사용합니다. if문을 이해하기 위해서는 조건식에 대해서 이해해야 합니다. 조건식이라는 것은 조건에 만족을.. 2022. 4. 14.
호기심 파이썬(자료형 : 리스트) 이번에는 자료형 중 하나인 리스트에 대해서 알아보겠습니다. 중국집 메뉴 리스트라고 이야기하면 짜장면, 짬뽕, 볶음밥, 쟁반짜장 등등 이런 식으로 나열하여 생각하게 됩니다. 파이썬에서 말하는 리스트도 이와 동일합니다. 중국집 메뉴 리스트를 파이썬 코드로 표현하면 다음과 같습니다. menu = ["짜장면", "짬뽕", "볶음밥", "쟁반짜장"] 이런 식으로 표현합니다. 여기서 ,(콤마)로 구분지어놓은 "짜장면", "짬뽕" 같은 것을 리스트의 원소라고 표현합니다. 정수, 실수 자료형은 숫자로 만들고 문자열 자료형은 '와 "로 감싸서 만들고 리스트는 [](대괄호)로 감싸서 만듭니다. 리스트 자료형에 대해서 자세히 설명하면 자료형을 묶을 수 있는 자료형입니다. 다음은 리스트의 기본 형식입니다. [] => 빈 리스.. 2022. 4. 12.
호기심 파이썬(input 함수와 자료형 변환) 이전까지 정수, 실수 자료형 print 출력 함수, 문자열에 대해서 글을 올렸습니다. 이번에는 입력을 하는 함수에 대해서 작성해보겠습니다. print 함수가 눈으로 볼 수 있게 해주었다면 이번에는 input 함수로 원하는 값을 입력해볼 시간입니다. input 함수는 사용 방법만 이해하면 됩니다. 아래 코드는 사용 예시입니다. 형식은 다음과 같습니다. 변수 = input("문장") 변수에는 입력받은 결과가 저장될 공간이고 input 함수 안의 문자열을 입력 시 입력을 유도하기 위해서 안내 문장을 적는 것입니다. 안내를 하기 싫다면 괄호안을 빈 공간으로 넣어도 괜찮습니다. 여기서 address에 저장되는 자료형은 무엇일까요? 바로 문자열입니다. input함수를 통해서 입력받은 자료의 형태는 문자열로 받게 됩.. 2022. 4. 11.
호기심 파이썬(자료형 : 문자열) 오늘은 자료형 중에서 문자열에 대해서 알아보겠습니다. 문자열 자료형은 문자를 처리하기 위해서 존재합니다. 문자열은 '(따옴표)나 "(쌍 따옴표)로 감싸서 만들게 되는데 이때 "(쌍 따옴표)로 시작하면 반드시 반대편도 "(쌍 따옴표)로 감싸야합니다. 즉, '문자' 나 "data" 이러한 형식을 유지해야한다는 말입니다. 절때 'abcd" 이러한 형태는 안됩니다. 그렇다면 문자열의 사용예시를 보겠습니다. 지금 print 함수 안에 자료형을 보면 다음과 같습니다. print(문자열, 정수, 문자열) 이전 포스팅에서 print 함수는 자료형을 출력해주는 함수라서 자료형 중 하나인 문자열도 당연히 출력이 가능합니다. 위와 같이 문자가 필요한 부분에 언제든 사용이 가능합니다. 이제 정수와 실수, 문자열 각 자료형이 .. 2022. 4. 10.
호기심 파이썬(자료형 개요) 이전 포스팅에서 print 함수를 다루었습니다. print 함수는 데이터를 눈앞에 볼 수 있다고 그랬는데 그렇다면 데이터는 무엇일까? 데이터(data)는 자료를 말합니다. 산술 연산자를 사용할 때 숫자들이 사용되는데 숫자를 잘 보면 -1, 0, 1 과 같은 정수와 3.14, 0.1, -0.12와 같은 소수를 프로그래밍에서는 실수라고 부릅니다. 쉽게 이야기해서 정수는 소수점이 없는 형태이고, 실수는 소수점이 존재하는 형태입니다. 그렇다면 3과 3.0은 엄밀히 말해 형태가 다른 것입니다. 3과 3.0은 데이터(자료)이고 형태가 다르므로 3은 정수형 데이터 3.0은 실수형 데이터라고 부릅니다. 정수형 데이터, 실수형 데이터를 모아서 자료형(data type)이라 합니다. 파이썬에서는 정수형, 실수형 말고도 여.. 2022. 4. 8.
호기심 파이썬(print 함수) 지난 시간 산술 연산자와 변수에 대해서 학습하였습니다. 지금부터는 개발환경을 파이참으로 변경하겠습니다. pycharm 설치 방법은 여러 블로그에 많이 나와있습니다. 오늘은 눈앞에 값을 볼 수 있게 해주는 print 함수에 대해서 알아보겠습니다. 우리는 3 더하기 4의 결과를 보고 싶습니다. 이럴 때는 다음과 같이 print 함수를 사용합니다. 실행 결과 3 더하기 4의 결과 값이 눈앞에 보이게 되었습니다. print 함수는 위와 같이 한 개의 데이터만 볼 수 있는 것이 아닙니다. 위의 코드처럼 ,(콤마)를 이용하면 여러 개의 데이터의 결과 값을 눈 앞에 볼 수 있습니다. 대신에 주의할 점이 있습니다. ,(콤마)를 이용하면 데이터 사이에 공백이 추가됩니다. 2022. 4. 8.
호기심 파이썬(산술 연산자와 변수의 개념) 컴퓨터가 등장하게 된 배경은 계산을 빠르게 하기 위해서 등장했습니다. 따라서 연산을 할 수 있는 연산자가 중요한데 지금부터 연산자에 대해서 알아보겠습니다. 우리가 일상적으로 사용하고 있는 사칙연산자. 더하기, 빼기, 곱하기, 나누기 파이썬에서는 다음과 같은 기호로 표현하고 있습니다. + 더하기 - 빼기 * 곱하기 / 나누기 이 연산자들은 피 연산자가 양쪽에 두 개 필요합니다. 당연히 피연산자가 없으면 코드에서 에러가 발생합니다. 이 연산자들을 모르는 사람은 거의 없을 것으로 생각됩니다. 다음 소개할 연산자들은 코딩이 처음이라면 생소할 수도 있는 연산자입니다. // 몫 % 나머지 ** 거듭제곱 실제로 사용해보겠습니다. 8 // 2 는 8 / 2를 했을 때 몫을 말합니다. 8 % 3 은 8 / 3을 했을 때.. 2022. 4. 8.
호기심 파이썬 (개요) 저는 코딩을 잘 모르던 평범한 사람이 였습니다. 군대에 가서 이 조직에서 살아남으려면 내가 가진 임무를 철저하게 완수하는 것이 중요한 것임을 깨닫고, 열심히 주특기에 대해서 공부하고 궁금한 것은 끊임없이 질문하며 공부의 매커니즘을 이해했습니다. 대학에서 정보보안을 전공한 저는 이전까지 코딩에 대해서 잘 알지도 못했고 보안은 코딩이 필요없다 라는 생각을 했습니다. 하지만 공부하기에 늦은 나이일 수 있지만 컴퓨터와 관련해서 코딩은 필수적이다 라는 생각으로 바뀌었습니다. 예전에 공부했던 C언어를 다시 공부해볼까도 했지만 당시 너무 어려웠던 기억이 많아 다른 언어를 찾아보다가 파이썬이라는 언어가 눈에 띄었습니다. 몇 년전 친형의 친구가 앞으로는 파이썬이 널리 쓰일 수 있다라는 기억이 문득 스쳤습니다. 그래서 파.. 2022. 4. 8.
[Web 통신] web 통신 과정(GET과 POST의 패킷 분석) 실습 환경 웹 서버 : bee-box(가상 머신) 웹 클라이언트 : host ================================================ 웹의 통신 과정은 크게 두 가지로 나뉘어집니다. GET 방식과 POST 방식입니다. 우선 눈에 띄는 가장 큰 차이점은 url 주소창으로 사용자가 입력한 데이터가 서버 측으로 전송될 때 눈앞에 보이게 되면 GET 방식이고 보이지 않는다면 POST 방식이라는 차이점이 있습니다. 이 외의 차이점은 GET과 POST의 사용 방식에 따라 나뉘어지는데 이 점은 나중에 기회가 된다면 포스팅하도록 하겠습니다. 보안적 관점에서 보았을 때 두 가지 방식 모두 큰 차이점을 보이지 않습니다. post방식으로 url 주소창에서 안보여도 패킷에는 그대로 보이기 때문입.. 2021. 10. 27.
[Web 취약점] Injection 공격 탐지(Snort : union based injection 탐지) 본문의 내용을 가지고 어떠한 프로그램에 공격을 시행하여 발생하는 일은 전적으로 공격을 시행한 본인에게 있습니다. 반드시 실습은 본인이 구축하여 시행하시길 바랍니다. ======================================================== 실습 환경 : VMware 실습 com1 : kali linux 실습용 취약한 server : bee-box ※ kali와 bee-box는 검색하여 쉽게 설치가 가능합니다. ======================================================== 지난 시간 [Web 취약점] Injection 공격 방법(SQL Injection 2 : union based injection) 본문의 내용을 가지고 어떠한 프로그램에 .. 2021. 10. 27.
[Web 취약점] Injection 공격 방법(SQL Injection 2 : union based injection이 성공할 수 있었던 이유) 본문의 내용을 가지고 어떠한 프로그램에 공격을 시행하여 발생하는 일은 전적으로 공격을 시행한 본인에게 있습니다. 반드시 실습은 본인이 구축하여 시행하시길 바랍니다. ======================================================== 실습 환경 : VMware 실습 com1 : kali linux 실습용 취약한 server : bee-box ※ kali와 bee-box는 검색하여 쉽게 설치가 가능합니다. ======================================================== 지난 시간 내용 [Web 취약점] Injection 공격 방법(SQL Injection 2 : union based injection) 본문의 내용을 가지고 어떠한 프로그.. 2021. 10. 26.
[Web 취약점] Injection 공격 방법(SQL Injection 2 : union based injection) 본문의 내용을 가지고 어떠한 프로그램에 공격을 시행하여 발생하는 일은 전적으로 공격을 시행한 본인에게 있습니다. 반드시 실습은 본인이 구축하여 시행하시길 바랍니다. ======================================================== 실습 환경 : VMware 실습 com1 : kali linux 실습용 취약한 server : bee-box ※ kali와 bee-box는 검색하여 쉽게 설치가 가능합니다. ======================================================== SQL Injection 공격 방법 중 하나인 union based injection에 대해서 설명하겠습니다. union based 공격 방법은 SQL의 문법 중 unio.. 2021. 10. 26.
[Web 취약점] Injection 공격 방법(SQL Injection 1) 본문의 내용을 가지고 어떠한 프로그램에 공격을 시행하여 발생하는 일은 전적으로 공격을 시행한 본인에게 있습니다. 반드시 실습은 본인이 구축하여 시행하시길 바랍니다. ======================================================== 실습 환경 : VMware 실습 com1 : kali linux 실습용 취약한 server : bee-box ※ kali와 bee-box는 검색하여 쉽게 설치가 가능합니다. ======================================================== 2021 OWASP TOP 10 중 줄곧 1위를 차지하던 Injection 공격이 3위로 하락했습니다. 2013년부터 여전히 위험한 취약점 중 하나입니다. Injectio.. 2021. 10. 11.
[네크워크] 진단 도구(2) tracert(traceroute) 실습 환경 : windows10, VMware {kali linux(192.168.154.143), CentOS7(192.168.154.150)} CnetOS 7은 APM 구축 자동화를 통해 설치했습니다. APM 카테고리에 가면 있습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. ------------------------------------------------------------------------------------------------------ 네트워크 진단 도구 중 구간에 대한 네트워크 상태를 확인하는 도구인 tracert(traceroute)를 살펴보겠습니다. 윈도우는 tracert, 유닉스/리눅스는 traceroute .. 2021. 2. 23.
[네크워크] 진단 도구(1) ping 실습 환경 : kali linux(192.168.154.143), CentOS7(192.168.154.150) CnetOS 7은 APM 구축 자동화를 통해 설치했습니다. APM 카테고리에 가면 있습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. --------------------------------------------------------------------------- 네트워크 진단 도구 중 연결 테스트(접근성)를 확인하는 도구인 ping 명령을 살펴보겠습니다. ping 명령은 접속하려는 호스트가 정상인지 확인합니다. ICMP protocal을 사용합니다. echo request(type 8)를 보내면 echo reply(type .. 2021. 2. 22.
[CentOS 7] APM 자동 구축(쉘 스크립트) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. --------------------------------------------------------------------------- 그동안 포스팅한 CentOS 7 설치 후 설정 FTP 구축 APM 구축(설치형 블로그 제외) 과정을 쉘 스크립트로 자동화 해보았습니다. 각 라인에 대한 설명은 아래와 같습니다. [CentOS 7] 설치 후 설정(SELinux 비활성, iptables 설치, net-tools설치) [CentOS 7] 설치 후 설정(SELinux 비활성, iptables .. 2021. 2. 19.
[CentOS 7]유저 기본 패스워드 지정을 통한 쉘 스크립트 기초 2 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. --------------------------------------------------------------------------- 간단하게 쉘 스크립트로 useradd, userdel, passwd 명령어를 자동으로 수행하는 코드를 보겠습니다. useradd 스크립트 [CentOS 7]유저 자동 생성을 통한 쉘 스크립트 기초 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의.. 2021. 2. 7.
[CentOS 7] 설치형 블로그 구축하기(텍스트 큐브) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. VMware는 스냅샷이 필수 입니다. 중요하다고 생각하는 부분에 반드시 하시길 바랍니다. --------------------------------------------------------------------------- APM 구축 1탄, 2탄, 3탄, 번외(php-DB 연동)을 통해 웹 서버 구동을 위한 준비가 끝났습니다. 여기에 설치형 블로그 중 하나인 텍스트 큐브를 설치해 보겠습니다. 텍스트 큐브 설치 파일은 textcube.org에 가시면 최신 버전 다운로드가 있습니다. 1.. 2021. 1. 30.
[CentOS 7] APM(apache, php, mariaDB)구축하기 번외(php-DB 연동 테스트) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. VMware는 스냅샷이 필수 입니다. 중요하다고 생각하는 부분에 반드시 하시길 바랍니다. --------------------------------------------------------------------------- APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) [CentOS 7] APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부.. 2021. 1. 30.
[CentOS 7] APM(apache, php, mariaDB)구축하기 3탄(php 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. VMware는 스냅샷이 필수 입니다. 중요하다고 생각하는 부분에 반드시 하시길 바랍니다. --------------------------------------------------------------------------- APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) [CentOS 7] APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부.. 2021. 1. 30.
[CentOS 7] APM(apache, php, mariaDB)구축하기 2탄(mariaDB 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. VMware는 스냅샷이 필수 입니다. 중요하다고 생각하는 부분에 반드시 하시길 바랍니다. --------------------------------------------------------------------------- APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) [CentOS 7] APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부.. 2021. 1. 23.
[CentOS 7] APM(apache, php, mariaDB)구축하기 1탄(기초 및 apache 설치) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. VMware는 스냅샷이 필수 입니다. 중요하다고 생각하는 부분에 반드시 하시길 바랍니다. --------------------------------------------------------------------------- APM은 웹 서버 구동을 위해 필요한 apache, php, mariaDB를 의미합니다. 이번 APM 구축하기 1탄은 apache 설치입니다. 선행 작업을 위해 CentOS 설치와, SELinux 동작모드 설정, net-tools 설치, iptables 설치, vs.. 2021. 1. 23.
[CentOS 7]유저 자동 생성을 통한 쉘 스크립트 기초 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. --------------------------------------------------------------------------- 간단하게 쉘 스크립트로 useradd, userdel, passwd 명령어를 자동으로 수행하는 코드를 보겠습니다. 유저 관련 명령어 입니다. [Linux 명령어] 유저 생성과 삭제 (useradd, userdel 명령어 그리고 passwd 명령어) 실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하.. 2021. 1. 21.