취약한 파일 존재 취약점
웹 루트 하위에 내부 문서나 백업파일, 로그파일, 압축파일과 같은 파일이 존재할 경우 파일명을 유추하여 파일명을 알아내고, 직접 요청하여 해킹에 필요한 서비스 정보를 획득할 수 있는 취약점
=> 취약한 파일의 기준이란 일반적으로 노출되면 안되는 문서 (내부 문서, 백업파일, 로그파일, 대외비나 개인정보가 포함된 압축파일)를 말하며 이러한 것들은 파일에 대한 권한 설정이나 별도 폴더로 저장을 할 필요가 있다.
구 분 | 검색할 파일의 형식(확장자) |
압축파일 | .zip, .rar, .alz, .tar, .gz, .gzip 등의 압축파일 |
백업파일 | .bak, .org 등 |
로그파일 | .log, .txt 등 |
설정파일 | .sql(DB), .ini(윈도우설정), .bat(명령어를 통한 변경) 등 |
문서파일 | .hwp, .doc, .xls, .ppt, .pdf 등 |
기타 | test.*, imsi.*, .tmp 등 |
*취약한 파일 유형
-압축파일(압축파일 확장자), 백업파일(bak,org), 로그파일(log)
-설정파일
sql 은 db 설정파일, ini는 윈도우 설정 파일
bat는 명령어를 통해서 안에 있는 설정 값을 변경하는 실행파일에 가까움.
-중요한 정보를 담고있는 문서파일 (파일 내에 개인정보,대외비,중요한 정보들이 있는지를 보고 취약여부 판단)
-테스트파일 ( 제거되지 않고 남아있을 때)
EX)
개발·보수 등의 이유로 임시 페이지로 인해 시스템 정보가 노출
테스트용으로 사용했던 페이지가 존재
대응방안
- 취약한 파일들을 잘 관리하여 노출되지 않도록 한다.
- 웹서버는 개발과 운영 환경을 분리한다.
=> 운영 환경에서 (소스 코드 수정 또는 테스트 목적)의 임시 파일을 생성하지 않도록 함.
-정기적인 불필요 파일 검색하여 제거
계정관리 취약점
회원가입, 로그인 시에 안전한 패스워드 규칙이 적용되지 않아서 취약한 패스워드로 회원 가입이 가능할 경우 무차별 대입공격을 통해 패스워드가 누출될 수 있는 취약점
=> ID는 admin,test,root 등 관리자 의미의 아이디 유형 / 패스워드는 안전하지 않은 패스워드 규칙이 적용되었을 때
EX)
취약한 사용자 계정생성으로 추측을 통한 사용자의 계정 로그인이 가능
대응방안
구 분 | 내 용 |
패스워드 생성규칙 | - 세가지 종류 이상의 문자구성으로 8자리 이상의 길이 - 두가지 종류 이상의 문자구성으로 10자리 이상의 길이 |
패스워드 생성 금지규칙 | - 간단한 문자(영어단어 포함)나 숫자의 연속사용은 금지 - 키보드 상에서 일련화 된 배열을 따르는 패스워드 선택 금지 - 사전에 있는 단어, 이를 거꾸로 철자화한 단어 사용 금지 - 생일, 전화번호, 개인정보 및 아이디와 비슷한 추측하기 쉬운 비밀번호 사용 금지 - 이전에 사용한 패스워드는 재사용 금지 - 계정 잠금 정책 설정 예) 로그인 5회 실패 시 30분 동안 사용중지 |
-사용자가 취약한 패스워드를 사용할 수 없도록 패스워드 생성규칙을 강제 할 수 있는 로직을 적용, 자주 사용하지 않는 ID 사용
=>
(특수문자,대소문자,숫자 중 세 가지 종류 이상을 사용한다면 8자리 이상을 사용하도록,
두 가지 종류를 사용한다면 10자리 이상을 사용하도록 구성하며 개인정보와 관련된 부분은 사용하지 않도록 문자열 제한, 반복되는 숫자,알파벳, 일반적으로 알려진 단어 제한 등 을 적용할 수 있다.)
개인정보,중요정보를 취급하는 중요 단말기의 경우 높은 수준의 패스워드 생성규칙 수준 권고하고 있음.
실명 인증 취약점
사용자 본인 확인(실명인증) 과정상에서 취약한 프로그램을 악용하여 사용자정보를 변조하는 공격으로 관리자 위장을 통해 개인정보를 수집하거나 기타 공격에 악용할 수 있는 취약점
=>로그인 과정 혹은 로그인 후 개인정보 수정 시 패스워드 재확인 과정 같은 본인확인 과정 시 취약하게 관리되었을 때, 재인증과정이 필요한 중요한 정보를 다루는 구간에서 적용이 안되었을 때 관리자로 접근(변조)하여 정보가 유출되거나 추가적인 행위를 일어날 수 있어 매우 위험도가 높은 취약점이다.
EX)
실명인증 후 개인정보 입력 시 이름과 주민등록번호를 변조하여 전송하면 변조된 이름으로 회원가입 가능.
대응방안
-웹 프록시 프로그램(버프슈트,파로스,피들러 등) 을 이용하여 점검해보고 인증방법 강화, 인증 결과 암호화
-중요한 정보(개인정보,대외비정보,금융정보 등)가 있는 부분은 재인증 절차를 적용하여 본인인증을 강화
-재인증 절차 적용 시에도 안전하다고 확인된 라이브러리나 프레임워크 (OpenSSL이나 ESAPI의 보안기능 등) 를 사용
전송 시 주요정보(개인정보) 노출 취약점
프로그램이 보안과 관련된 민감한 데이터를 평문으로 통신 채널을 통해서 송·수신 할 경우 (특히 로그인 시) , 통신채널 스니핑을 통해 인가되지 않은 사용자에게 민감한 데이터가 노출될 수 있는 취약점
=> ID와 패스워드를 통해 로그인하는 구간은 ID,패스워드가 평문으로 구성되어서 노출되지 않도록 HTTPS를 적용
개인정보,금융정보와 같은 중요정보를 다루고 보이는 구간들 역시 마찬가지다.
와이어 샤크를 통해 데이터가 평문으로 노출되는지 꼭 확인해봐야 함.
EX)
로그인 과정에서 사용자와 서버 간의 통신 정보가 암호화되지 않아 스니핑을 통해 사용자 정보 흭득 가능
대응방안
-웹 서버는 전자서명인증서, SSL(Secure Socket Layer)을 이용하여 사용자 식별
-중요한 데이터 전송 시 통신채널 (HTTPS), 전송데이터 암호화 적용 후 패킷 확인
'Security > Web' 카테고리의 다른 글
웹 쉘 (0) | 2023.07.09 |
---|---|
웹 취약점 -3 (0) | 2023.07.05 |
웹 취약점 -1 (0) | 2023.07.05 |
Kali linux에서 DVWA 환경 구성 및 Burp Suite 설치 (0) | 2023.06.24 |
Kali linux 가상환경에 설치 및 한글 입력기 설정 (0) | 2023.06.20 |