2022-01-24

01/23 웹 취약점 분석

  1. 파일업로드 

1) 확장자 체크는 화이트 리스트로 관리하기

2) 파일명저장될때 임의의 문자열을 덧붙이기

3) 업로드 디렉터리를 제한하고, 첨부파일이 저장된 디렉터리의 실행권한 chmod제한하기

2. XSS

1) 종류 

a) 반사 XSS: 서버를 이용하지 않고, link를 이용하여 스크립트를 실행 (이미지, 비디오, a href 등)

b) 저장 XSS : 서버를 이용한 스크립트 실행. 일단 서버를 타고 한번 데이터베이스에 저장되고, 저장된값이 그대로 다시 브라우저로 노출되면서 스크립트가 실행된다. 

2) 방어

- 스크립트 치환 라이브러리 사용

3. SQL injection

- prepared statement 사용.

prepared statement의 경우 미리 sql질의문을 정적으로 컴파일 한 후에, 파라메터가 들어갈 자리만 남겨둔다. 동적으로 생성되는 파라메터는 문자열로 취급되어 들어가기 때문에 안전하다. 일반 statement의 경우 파라메터와 함께 그 순간 동적으로 쿼리를 생성하기때문에 위험하다.

4. 취약한 패스워드 정책

- 세가지 종류 이상의 문자구성, 8자리 이상의 길이

-혹은 두가지 종류 이상의 문자구성, 10자리 이상의 길이

5. 자동화 공격

- brute-forth 공격을 자동화하여 패스워드 크래킹이 가능하므로, 이것을 방지하기 위해서는 인증시도 횟수를 제한하여야 한다. 

- 패스워드만 틀린것인지, 아이디/패스워드 둘다 틀린것인지 구별할 수 있어야 한다. 

6. 취약한 관리자 페이지 접근

- 관리자 로그인 페이지 주소 변경

- 관리자 로그인 페이지 접근 레벨 -> ip주소로 설정. 반드시 사내ip에서만 접근 가능해야 한다. tomcat-users

7 백업 및 테스트파일 존재 

- 공개형 솔루션의 샘플파일 

- 불필요한 테스트 페이지 혹은 개발페이지 

- 삭제, 디렉토리 경로변경, 접근제한 설정 등.

8 세션 재사용 및 타임아웃 설정

- 로그인마다 동일한 세션아이디가 생성될경우 취약

- 일정시간이 지난 후 재접속시에도 로그인 상태가 유지될 경우 취약(권고: 30분)

- 쿠키 제거 & 세션 제거 함께 해야한다. 

-로그인 시마다 새로운 세션 아이디가 발급될 수 있도록 해야한다. 

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...