본문 바로가기

전체 글93

[4주차-1] 회원가입 기능 만들기 2 회원가입에 주소검색을 추가시켜서 주소를 입력받을 수 있게 수정을 할 것이다. 먼저 user 테이블을 수정을 해줬다. address 컬럼에 회원가입 시 입력받은 주소가 들어갈 것이고 ZIPCODE라는 테이블에 주소 DB를 넣을 것이다. 이렇게 테이블을 만들어주고 우체국 홈페이지에 가서 지역별 주소 DB를 받아온다. 그리고 LOAD DATA 명령어를 이용하여 ZIPCODE 테이블에 데이터를 넣어준다. 주소검색을 위한 데이터는 입력되었으므로 회원가입폼을 수정해 주겠다. onclick을 이용하여 주소 검색 창을 누르면 새창이 팝업 되게 만들었다. 팝업창이 나오면 주소를 검색하면 된다. 지금까지 작업한건 주소 DB를 구축하고 회원가입 창에서 주소 검색창을 출력시켜서 검색을 할 수 있게 만들었고 앞으로 해야할거는 .. 2023. 4. 23.
15-2. 리눅스 서버 보안 리눅스 유닉스를 pc버전으로 개발하려 노력한 산물 ex2 장애 발생 시 파일 손상 가능 fsck를 사용하면 복구가 가능하지만 시간이 많이 발생함 ex3 저널링 기법 속도가 향상됨 ex4 지연된 할당 향상된 보안 할당 기법 계정관리 root 계정 원격 접속 금지 root 계정의 원격 접속 허용은 금지해야 한다 패스워드 복잡성 설정 패스워드의 복잡성을 높여야 한다. 계정 잠금 임계값 설정 실패 횟수를 적정하게 제한시켜야 한다. 패스워드 파일 보호 /etc/shadow 파일에 암호화된 패스워드가 저장되도록 하고 특별한 권한이 있는 사용자들만 읽을 수 있도록 한다. root 이외의 UID가 0 금지 패스워드 최소 길이 설정 패스워드의 최소 길이가 설정되어 있는지 확인 패스워드 최대 사용 기간 설정 패스워드의 최.. 2023. 4. 22.
Error Based SQL Injection 이전에는 Union SQL Injection을 알아봤다. 이번에는 에러메시지가 나오는 경우를 알아볼 것이다. SQL 에러메시지가 나오면 편해진다. 그 이유는 어떤 DB를 쓰는지 알 수 있고, SQL문이 출력돼서 추측을 안 할 수도 있기 때문이다. (1) 추측 그래도 일단 시작을 추측이다. select ?????? from ????? where id = '@@@@@' 이런 식의 SQL문이 있을 거라고 생각을 해보자. (2) DB에러인지 확인 DB 에러가 있는지 확인하기 위해서 '를 넣어보자 이로써 알 수 있는 것은 Mysql을 사용하고 있고 우리는 Error Based SQL Injection을 사용할 수 있다는 것이다. (3) Error Based SQL Injection 문법 에러, 논리 에러 중에서 .. 2023. 4. 21.
Union SQL Injection SQL Injection을 사용하면 데이터를 추출할 수 있다. 여러 가지 케이스가 있고 SQL 질의문이 화면에 보이는 경우와 보이지 않는 경우가 있는데 지금은 보이는 경우이다. 이 경우에는 Union을 이용하면 select문을 2개를 연결해서 SQL 질의문을 만들어 낼 수가 있다. Union을 사용할 때는 앞에 있는 select문과 뒤에 있는 select문의 컬럼 개수를 맞춰야 하고 각 위치에 맞는 컬럼 타입을 사용해야 한다. (1) 추리 가장 먼저 서버에서 어떤 SQL 질의문을 사용하는지 추측을 해봐야 한다. select ???? from ???? where name is '@@@@' 이런 질의문이 있을 거라고 가정을 해보자 사이트에서 overwatch를 검색해 보고 over, watch, erwat를.. 2023. 4. 21.
15-1. 유닉스 서버 보안 유닉스 유닉스의 특징 호환성과 이식성이 뛰어남 통신 기능이 뛰어남 유닉스의 종류 오라클 솔라리스, AIX, HP-UX 유닉스의 구성 하드웨어, 커널, 셸, 응용 프로그램 커널 항상 메모리에 상주 셸 명령어 해석기 파일시스템 /etc 주요 설정 파일 존재 /dev 장치를 다루기 위한 특수 파일 /usr/bin 실행 가능한 파일 /usr/sbin 명령어가 저장되는 디렉터리 /home 홈 디렉터리가 저장되는 디렉터리 파일시스템의 구조 부트 블록, 슈퍼 블록, i-node 리스트, 데이터 블록 i-node 파일에 대한 속성정보를 관리하기 위한 블록 120byte의 고정된 크기의 구조체 유닉스의 파일시스템 ls 디렉터리 정보 출력 접근권한 읽기 r(4), 쓰기 w(2), 실행 x(1) 파일에는 666, 디렉터리엔.. 2023. 4. 20.
14. 윈도우 서버 보안 윈도우의 구조 하드웨어, HAL, 마이크로커널, 각종 관리자, 응용 프로그램 파일시스템 FAT16 기본크기 16bit FAT32 호환성이 좋음 NTFS 보안관점에서 좋음 MBR 물리적 구조에서 디스크의 첫 번째 섹터 부트코드(446), 파티션테이블(64), 시그니처(2)로 구성 MFT 모든 파일과 디렉토리에 대한 정보가 들어있음 부팅순서 POST, CMOS, MBR, NT loader, NTDETECT.com 순으로 실행 윈도우 인증구조 윈도우 기본 사용자 admininistrator 관리자 SYSTEM 관리자보다 상위 권한 guest user 일반적으로 사용하는 그룹 SID 사용자나 그룹에 부여되는 고유 식별 번호 500: admin / 501: guest LSA 모든 계정의 로그인에 대한 검증 시스템.. 2023. 4. 19.
로그인 CASE 로그인 CASE 1) 식별과 인증 동시 DB에 ID와 PW가 모두 일치하는 행이 있으면 로그인에 성공하고, 틀리면 로그인에 실패한다. 2) 식별과 인증 분리 DB에서 ID를 식별하고 PW입력값을 확인해서 일치하면 로그인 성공하고, 틀리면 로그인에 실패한다. 3) 식별과 인증 동시 + hash 1번의 방법에서 PW를 해시함수로 처리하는 방법이다. 4) 식별과 인증 분리 + hash 2번의 방법에서 PW를 해시함수로 처리하는 방법이다. 5) 식별과 인증 동시 + 개행 1번의 과정에서 Enter가 들어가 있는 경우이다. 개행이 들어가면 주석처리를 해놔도 주석은 해당줄만 처리를 하므로 다음줄은 실행이 돼서 의미가 없어진다. CASE별 인증 우회 1) 식별과 인증 동시 SELECT * FROM user WHERE.. 2023. 4. 18.
13. 클라이언트 보안 악성코드 독립형 웜, 좀비 기생형 바이러스, 논리폭탄, 백도어 자가복제가능 웜, 바이러스, 좀비 자가복제불가 트로이목마, 백도어 바이러스 감염 시키는 프로그램 원시형 바이러스, 매크로 바이러스 바이러스 위협에 대한 해결책은 예방 악성코드에 대응하는 정책과 교육이 중요함 웜 자신을 복제하고 확산시킴 직접적인 영향을 미치지 않는다는 점에서 트로이목마와 구분 기생하지 않는다는 점에서 바이러스와 구분 트로이목마 실체를 드러내지 않으면서 다른 프로그램인것처럼 가장하여 활동하는 프로그램 자기 복제를 하지 않고, 공격자에서 통제권한을 부여함 기타 악성 소프트웨어 논리폭탄, 백도어, 모바일 코드, Exploit, 루트킷 등 웹 브라우저 보안 쿠키 인터넷 웹 사이트에 방문할 때 생기는 4KB 이하의 파일 악의적인 사용자.. 2023. 4. 17.
12. 보안 운영체제 보안 운영체제 보안 커널을 추가로 이식한 운영체제 보호대상 모든것들 보호방법 밑으로 갈수록 구현 복잡도가 증가함 물리적 분리 별도의 장비만 사용 시간적 분리 동일 시간에 하나씩만 실행 논리적 분리 논리적인 구역을 지정 암호적 분리 암호화 파일 보호기법 파일 이름 명명, 패스워드, 암호화 보안 운영체제의 보안기능 사용자 식별 및 인증 임의적/강제적 접근 통제 객체 재사용 보호 완전한 조정 신뢰 경로 감사 및 감사 기록 축소 보안커널 참조 모니터 개념을 구현하고 집행 격리성, 검증가능성, 완전성 TCB 모든 보호 메커니즘의 총체 보안경계는 개념적 부분 신뢰 플랫폼 모듈(TPM) 신뢰 컴퓨팅을 위한 하드웨어 모듈 훼손 방지가 필수, 일반적으로 메인보드에 장착 기본서비스 인증된 부트 서비스, 인증 서비스, 암호.. 2023. 4. 16.