전체 글 80

9월 15일 시스템/네트워크 보안 1

* 인터넷을 만든 사람은? 빈트 서프, 로버트 칸 ( 1970년 초반 ) * 인터넷의 종류 : WWW( 80년대 후반 ), FTP, Telnet, Torrent, SSH, Archie, Gopher 등 * 인터넷은 왜 만들었을까? - 미 국방부 산하에 ARPA(알파, 국방과학연구소 ) 에서 전쟁에 쓰이는 무기를 연구 ( 신무기 개발 ) - 멀리 떨어진 연구기관 및 대학교 등을 연결 필요성 ------> 문제점 : 통신 방법이 다 다름 - 서로 다른 회사의 네트워크 장치를 사용 하다보니 호환이 안되는 상태 - 알파에서 공통의 프로토콜을 만들기로 함 ----> ARPAnet 이라고 이름을 붙임 - 전세계 미군 부대를 연결할 계획 ( 1960년대 ) -----> ARPAnet 을 둘로 나누어서 미군 전용 네트..

9월14일 웹해킹 7

* Today 일정 - DVWA 실습 마무리 - 웹방화벽 설치 - Beebox 실습 * Blind SQL Injection - DB에 대한 정보가 없는 상태에서 SQL문을 조작해서 DB명, Table명, Column명 등을 알아내는 방법 - 에러가 힌트가 되기 때문에 오류를 일으키거나, 한글자씩 확인하는 방식 ---->자동화된 도구 사용 (SQL Lmap) * Command Execution - 검색창에 공격자는 검색을 하지 않는다, 리눅스 명령어를 실행하려고 함 ( Beebox에서 php코드 인젝션 ) 실습준비 ) - VMware를 켜고 우분투~ * SQL injection 복습!! - 목적 : 모든 사용자의 ID와 PW를 알아내는 것 ( 이미 구조를 다 알지만 모른다고 가정하자, 연습이기 때문! ) ..

9월13일 웹해킹 6

* 오늘의 일정 - OWASP top 10 오전중 마무리 - DVWA 실습 * Credential Stuffing - 여러군데 회원가입을 하다보니, ID/PW가 동일함 - 약한 사이트의 사이트를 해킹(Web shell, RAT업로드, WebDAV업로드, SQL인젝션 등)해서 고객DB확보--->ID/PW - 다른 사이트에 넣어봄 (홈X러스, 항공마일리지, 금융권, 포털, SNS 등) - 2021년 통계에 의하면 가장 심각한 해킹 유형 - 대응 방법 : 사이트마다 패스워드를 조금씩 다르게 해야 함 EX) 카톡이 털리면 지인들에게 돈 빌려달라는 메시지 보냄 ----> 피싱으로 연결 정기적으로 비밀번호를 교체 EX)스마트폰에 패스워드가 저장되어 있어서 로그인이 되어있는 상태 ---->편리함 ( 보안의 적 ) *..

9월 8일 웹해킹 5

*SQL Injection 사전지식 Database ( DB를 잘 모르는 사람들이 있어서 설명해 주셨는데, 난 사실 데이터베이스 관련 수업을 2개나 들었고 성적도 나쁘진 않았지만 할때마다 SQL문같은건 잘 생각이 안나서 맨날 찾아본다.. 그래서 좋았다.. ㅋ) 실습) 다시 어제하던 beebox의 SQL Injection (GET/Search) 로 가보자 *모든 계정에 대한 ID와 PW를 알아내려면? - DB이름, TABLE이름, Column 이름을 알아내야 함 *SELECT문 뒤에 또 SELECT문을 사용하려면? UNION으로 연결 ex) SELECT ~~~~~ UNION SELECT ~~~~~~~~~ *영화 검색창에서 실행되는 Select 문을 예상해보자 SELECT ?,?,?,? FROM ???? W..

9월7일 웹해킹 4

지난시간 돌아보기 공격자가 공격대상과 연결하는 방법 1.백도어 공격자가 공격 대상에 접근하는 방식 미리 공격대상(victim)에 백도어를 설치하거나 취약한 application을 사용하는 경우 하지만 방화벽에 의해 대부분 차단됨 2.리버스 커넥션 공격대상이 공격자 쪽에서 접근하는 방식 공격대상에 RAT(remote access trojan)을 침투시켜서 실행될 경우 공격자가 미리 준비한 커퓨터로 연결 시도(트로이 목마 방식) 방화벽을 우회할 수 있음 이메일을 보내는 방법 ------>Spear Phiching ( 특정인을 겨냥해서 메일을 보냄 ) 사례1) 항공권, 이력서, 초대장, 논문참고 보내서 마우스 클릭 유도 이력서.hwp .exe // 직접 클릭하는 것은 매우 위험함 웹서버에 미리 올려놓은 RAT..

9월6일 웹해킹 3

*Web Shell 관리자가 SSH,FTP를 이용하지 않고 웹브라우저로 웹서버를 관리하기 위한 도구 (GUI로 설정 가능) 공격자들이 웹쉘을 웹서버에 업로드해서 원격으로 조종 편리함을 추구하는건 보안의 가장 큰 적! *웹쉘을 업로드 하는 방법 게시판 취약점(파일 업로드) 웹에디터 취약점(이미지 업로드) HTTP 1.1취약점 (PUT) 기타 다양한 해킹 공격 (SQL injection, XSS등) *웹쉘 대응 방법 1) 웹쉘을 업로드 하지 못하게 해야함 2) 이미 업로드 된 웹쉘은 동작하지 못하게 해야함 ---->압축해서 보관, 읽기만 가능한 스토리지에 보관 3) 업로드한 웹쉘의 위치를 찾을 수 없도록 위치경로를 알려주지 않거나, 파일 이름을 바꾸는 방법 4) 웹쉘 대응 보안 솔루션을 배치 해야함 *Thr..

9월 5일 웹해킹 2

스크립트의 유형 1.파일 형태 : 확장자는 js(자바스크립트) 2. html,jsp/asp/php에 들어있는 경우 로 삽입 3.image tag의 일부 (경고창을 이용) 4. 주소표시줄 뒤에 붙는 경우 > '%3e%3c%2fscript%3e%3cscript%3ealert('XSS')%3c%2fscript%3e 티스토리도 스크립트를 사용해서 그런지 예시가 써지질 않는다 ㅋㅋㅋ /script로 스크립트를 닫고 공격자가 원하는 스크립트를 작성하는것 실습)VM ware를 실행 Ubuntu_DVWA를 선택하고 , Play Virtual Machine를 클릭 아이피를 강사님과 똑같이 맞춰서 그냥 바로 브라우저에서 192.168.5.128 접속하면됨 xss(reflected) 참고) CSS(Cascading Styl..

9월 2일 웹해킹 1

## 클라이언트와 서버 클라이언트 : 웹 브라우저, SSH client, FTP client, 서버 : 웹서버(IIS, Apache2, Nginx 등) ##기존 프로토콜과 HTTP의 차이 계속 연결된 상태가 유지되던 기존 프로토콜과 다르게 HTTP는 사진,텍스트,링크 등등을 받으면 연결이 끊기기 때문에 쿠키를 생성해서 로그인등을 유지함 ##Frame : Packet을 실어 나르는 단위 컨테이션 : frame(2계층 전송 단위) 컨테이너 : packet(데이터를 넣은 상자)(3계층 전송 단위) //2계층 3계층 #Request(필수) : 어떤 메소드를 사용하는지, 어떤 페이지를 요청하는지, 어떤 버전을 사용하는지 표시 #Referer: 어디를 경유해서 왔는지.(ex 직접링크, 네이버, 구글 등) #User..

1주차 과제

3개의 리스트 각 요소를 이용하여 튜플 리스트로 변환하기 list1 = [1, 2, 3, 4] list2 = ['a', 'b', 'c', 'd'] list3 = ['가', '나', '다', '라'] list(zip(list1,list2,list3)) # 코드 작성 [(1, 'a', '가'), (2, 'b', '나'), (3, 'c', '다'), (4, 'd', '라')] 주어진 데이터를 결과와 같은 형식의 데이터로 저장하기 # 데이터 fish1_length = [ 25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5..

공부/파이썬 2022.08.28

01 - 기본 자료구조

23을 5로 나누었을 때의 몫과 나머지 구하기 몫 = 23//5 나머지 = 23%5 몫, 나머지 (4, 3) 16진수 FF의 10진수 값 구하기 0xff 255 8진수 33의 10진수 값 구하기 0o33 27 제시된 숫자의 각 자리 수 합 구하기 num = 215179 total = 0 total = total + num % 10 num = num // 10 total = total + num % 10 num = num // 10 total = total + num % 10 num = num // 10 total = total + num % 10 num = num // 10 total = total + num % 10 num = num // 10 total = total + num % 10 num = n..

공부/파이썬 2022.08.28