반응형

보안 공부 170

파이썬으로 텍스트파일 읽고 출력하기

파이썬으로 텍스트파일 읽고 출력하기입니다. 파이썬으로 파일을 오픈하기 위해서는 open() 함수를 이용하는데, open() 함수의 사용은 아래와 같습니다. open(파일이름, 모드) 함수의 첫번째 인자는 파일의 이름, 경로가 미입력 시 프로그램이 구동되는 디렉터리내에서 찾습니다. 파일을 오픈하는 모드는 아래와 같습니다. r 또는 rt : 텍스트 모드로 읽기 w 또는 wt : 텍스트 모드로 쓰기 a 또는 at : 텍스트 모드로 파일 마지막에 추가하기 rb : 바이너리모드로 읽기 wb : 바이너리모드로 쓰기 ab : 바이너리 모드로 파일 마지막에 추가하기 -사용코드 f = open('test.txt', 'r') data = f.read() print(data) f.close()

파이썬으로 문자열로된 식을 계산하기(eval 함수)

파이썬으로 eval 함수를 사용하여 문자열로된 식을 계산하는 방법입니다. 코드작성 시 파일에서 읽은 수식이나 문자열을 그래도 실행을 해야하는 경우가 있습니다. ex) 5+4와 같이 텍스트 파일에서 읽어 이를 실행하여 계산을 해야하는 경우 파이썬 내장함수 eval()는 파이썬 코드로 실행 가능한 문자열을 인자로 받아 실행하는 함수입니다. - 실행 코드 ex1 = '5+4' ex2 = 'round(4.9)' result1 = eval(ex1) result2 = eval(ex2) print(result1) print(result2) * 만약 파이썬으로 실행이 불가능한 문자열을 사용 시 SyntaxError 가 발생합니다. -> SyntaxError: unexpected EOF while parsing

파이썬으로 문자열에 있는 문자 개수 구하기(count)

문자열 객체의 count() 메소드는 문자열에서 특정 문자의 개수를 리턴합니다. txt에 존재하는 알파벳의 개수를 구합니다. 해당 방법으로 ' ', 공백을 주어서 공백개수를 카운트 할 수 있습니다. -사용코드 txt = 'Show me the money.' word_1 = txt.count('S') word_2 = txt.count('o') word_3 = txt.count('m') print(word_1) print(word_2) print(word_3)

파이썬으로 문자열에 특정 위치의 문자 얻기

문자열에서 특정 위치의 문자를 얻는 방법은 인덱싱을 이용하는 것입니다. 인덱스는 0부터 시작하여 문자열 끝까지 순차적으로 숫자가 증가합니다. 다음 코드는 문자열에서 특정 위치의 한 문자를 출력하는 코드입니다. - 실행 코드- txt1 = 'No Pain, No Gain' txt2 = '0123456789.' print(txt1[1]) print(txt2[0]) txt1의 1번 인덱스, 즉 두번재 문자열을 출력 txt2의 0번 인덱스, 즉 첫번째 문자열 출력 결과는 아래와 같이 출력됩니다.

파이썬으로 문자열 거꾸로 돌리기(python)

주어진 문자열을 거꾸로된 문자열로 돌리는 방법입니다. 슬라이싱을 이용하면 매우 간단하게 거꾸로 된 문자열을 얻을 수 있습니다. 문자열 txt의 처음부터 끝까지 스템 -1로 슬라이싱합니다. 이는 거꾸로 된 문자열을 얻는 매우 쉬운 방법입니다. 홀수 번째 문자만 추출하여 문자열을 만들면 ret = txt[::-2] 다음과 같이 슬라이싱 해주면 됩니다. -사용코드- txt = 'abcdef' ret = txt[::-1] print(ret) 응용하여 다양하게 변화를 주어 문자열을 출력할 수 있습니다. 자세한 내용은 직접 테스트해보면서 적용해보시면 됩니다!

HTTP 불필요한 웹 메서드 차단 방법

HTTP 불필요(보안에 취약한) Web Method 차단 방법 입니다. 1. httpd.conf 파일에 설정 Order allow,deny deny from all -> 근데 이 방법은 설정한 디렉터리에만 설정이 된다. 하위 디렉터리 마다 계속해서 설정해야하는 불편함이 있기에 대신에 아래와 같이 설정하면 하위까지 설정가능! Order deny, allow Deny from all 2. web.xml 요긴랜덤 이름설정 /* PUT DELETE TRACE OPTIONS -> 차단할 메소드들을 설정해서 넣어줍니다. 3. IIS 윈도우 레지스트리 편지기를 통해 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\3SVC\Parameters에서 다음의 레지스트리 값을 추가..

Linux 로그설정 노트(2)_KISA 배포자료

1. btmp 로그 설정 - /etc/logrotate.d/btmp 생성 # touch /etc/logrotate.d/btmp - /etc/logrotate.d/btmp 설정 (항목 작성) - /var/log/bmtp { monthly create 0640 root btmp rotate 6 missingok dateext - 로그 파일은 파일별 1개월의 로그 저장 로그 파일 생성 시, 0640의 권한, root 소유, btmp 그룹으로 설정 로그 파일은 6개월 분량 보관 로그 파일이 존재하지 않아도 오류 발생하지 않음로그 파일명에 YYYYMMDD 형식의 문자열을 추가 2. message 로그 설정 - /etc/logrotate.d/messages 생성 # touch /etc/logrotate.d/mess..

Linux 로그설정 노트(1)_KISA 배포자료

1. 명령 히스토리 파일명 변경 - History 관련 환경변수 변경(파일명 변경) # set HISTFILE="임의의 파일명" - History 관련 환경변수 변경(설정 변경) # set HISTFILESIZE=[파일크기] # set HISTSIZE=[라인 수] - HISTFILE="임의의 파일명" HISTFILESIZE=[파일크기] HISTSIZE=[라인 수] - Cent os : /etc/profile 에서도 설정 가능 Debian, Ubuntu : /etc/skel/.bashrc 에서도 설정 가능 2. 로그 로테이션 설정 - logrotate 설치 Redhat , Cent os: # rpm -q logrotate 혹은 # rpm -ivh logrotate-.rpm Debian, Ubuntu : #..

Window 로그설정 노트(2)_KISA 배포자료

1. 이벤트 로그 설정(네트워크 연결) - 로그 크기 설정 : 이벤트 뷰어 ▶ 응용 프로그램 및 서비스 로그 ▶Microsoft ▶ Windows ▶ NetworkProfile ▶Operational ▶ 속성 - 로깅 : 사용크기 : 0x06400000 (102400 KB) (100MB 이상) - Microsoft-Windows-NetworkProfile%4Operational.evtx 2. 로컬 방화벽 로그 설정 - 제어판을 이용한 설정 -> 윈 8 : 시작 프로그램, 관리 도구 ▶고급 보안이 설정된 Windows 방화벽 ▶ 속성 ▶로깅, 사용자 지정 -> 윈7, 윈 10, 윈 12, 윈 16 : 제어판 ▶ Windows 방화벽 ▶고급 설정 ▶ 속성 ▶ 로깅, 사용자 지정 - 손실된 패킷을 로그에 기록..

Window 로그설정 노트(1)_KISA 배포자료

1. 이벤트 로그 감사 설정 - 제어판을 이용한 설정 윈 8 : gpedit.msc ▶ 컴퓨터 구성 ▶ Windows 설정 ▶ 보안 설정 ▶ 로컬 정책 ▶ 감사 정책 윈 7, 윈 10, 윈12, 윈 16 : gpedit.msc ▶ 컴퓨터 구성 Windows 설정 ▶ 보안 설정 ▶ 고급 감사 정책 구성 ▶ 시스템 감사 정책 ▶ 계정 로그온, 계정 관리, 세부 추적, 로그온/로그오프, 개체 액세스, 시스템 - 자격 증명 유효성 검사 감사 (성공, 실패) 기타 계정 로그온 이벤트 감사 (성공, 실패) 컴퓨터 계정 관리 감사 (성공, 실패) 사용자 계정 관리 감사 (성공, 실패) 프로세스 만들기 감사 (성공, 실패) RPC 이벤트 감사 (성공, 실패) 로그오프 감사 (성공, 실패) 로그온 감사 (성공, 실패) ..