본문 바로가기

반응형

Information Security/Hacking

(52)
웹 서버 보안 대책 (Apache 설정 기준) * 웹 서버 보안 대책 (Apache httpd.conf 기준) : 웹 서버 운영 시, 최소한의 권한, 최소한의 정보 노출 등 각종 보안 위협에 대한 대비가 가능한 사전 설정이 요구됨. (취약한 부분에 대한 Insight를 위한 글로, 대부분 웹서버 설정은 방법의 차이지, 취약한 부분은 유사) * httpd.conf 내 각종 보안 위협 대비 설정 유형 지시자 설정 방식 설명 리스닝 포트 지정 Listen 포트번호 ex) Listen 80 - 클라이언트가 접속할 웹서버의 Listening 포트 지정 심볼릭 링크 사용 설정 제거 Options FollowSymLinks 제거 ex) Options None 으로 변경 - 심볼릭 링크로 인해, 허용 외에 다른 디렉터리에 액세스 할 수 있는 위험성 존재 - Non..
검색엔진 정보 노출 취약점 (robots.txt) * 검색엔진 정보 노출 취약점 : 검색 엔진에 의해 각종 정보(시스템, 개인정보 등)이 검색되어 중요 정보가 제공, 노출되는 취약점 - 웹사이트URL/robots.txt 로 검색 시, 해당 파일이 없는 경우, 검색엔진 접근제어가 미적용된 상태 로봇배제표준 : 검색로봇에 대한 웹사이트의 디렉터리 및 파일에 대한 검색 조건을 명시해놓은 국제 규약 - 접근 제한에 대한 설정을 robots.txt에 기술함(ASCII 또는 UTF-8 텍스트) 검색로봇 : 검색엔진이 웹사이트를 검색, 정보를 가져오는 프로그램으로, 로봇배제표준 설정파일(robots.txt)을 확인, 이를 준수한 컨텐츠 수집을 진행 - 악성 검색엔진의 경우 로봇배제표준을 무시하고 컨텐츠를 수집하는 등의 행위를 할 수 있음 * 로봇배제표준 설정파일(r..
웹 서비스 메소드 설정 취약점 * 웹 서비스 메소드 설정 취약점 : 일반적으로 사용하는 GET, POST 메소드 이외, 불필요한 메소드 허용 시, 공격자가 이를 이용, 각종 공격에 활용할 수 있는 취약점 * 지원하는 메소드 확인 (Telnet 사용) : telnet을 통해 서비스 IP 및 Port에 접근 후, OPTIONS 메소드(지원할 시)로 Allow 헤더 필드로 지원하는 메소드 리스트 확인이 가능 * 대응책 : 불필요한 메소드 사용 제한 필요 - 아파치 웹서버 설정파일(httpd.conf)에서 설정 (적용 후 403 forbidden 응답 반환)
디렉터리 리스팅 취약점 (Directory Listing Vulnerability) * 디렉터리 리스팅 취약점 : 취약한 웹 서버 설정으로 인해 인덱싱(리스팅) 기능이 활성화 되어, 서버 내 모든 디렉터리 및 파일 목록을 볼 수 있는 취약점 * 대응책 : 디렉터리 인덱싱 기능을 제거 (시스템 별 설정 상이) 1) 아파치 웹서버(httpd.conf) 인덱싱 기능 및 접근제어 설정 - 모든 디렉터리 ()에 대해, Options 지시자의 Indexes 기능을 None으로 변경 (동일 경로 재조회 시, 403 Forbidden 코드 반환) - httpd.conf에서 지정 경로(/index, /admin 등 중요 페이지)에 대한 접근 제어 설정 Order 지시자 : 허용IP와 거부IP의 순서를 명시하는 것으로 뒤에 명시된 설정이 우선(위 이미지는 Allow 우선 적용 - Allow from 선적..
XPath/Xquery Injection Vulnerability * XPath/Xquery Injection Vulnerability : DB와 연동된 웹 애플리케이션에서 Xpath 및 Xquery 질의문 필터링이 제대로 이루어지지 않을 경우, 입력 가능한 폼에, 조작된 질의문 삽입으로 인증 우회를 수행할 수 있는 공격 XML (eXtensible Markup Language) : (요약) 마크업 언어(HTML)을 정의하기 위한 언어로, HTML이 정해진 태그만 사용하는 등 사용에 한계가 있는 반면, XML의 경우 임의로 기능 구성 및 수정, 운용 등이 가능한 언어(extensible한 언어) Xpath (XML Path Language) : (요약) XML 문서의 특정 위치, 요소, 속성 검색(포인터 역할)Xquery (XML query) : (요약) : XML을 ..
HTTP 응답 분할 취약점 (HTTP Response Splitting Vulnerability) * HTTP 응답 분할 취약점 : Client의 HTTP 요청 파라미터(입력)값에 개행문자(CR. LF)가 포함되어 있을 때, HTTP 응답이 2개 이상으로 분리될 수 있으며, 이에 따라 공격자가 첫 응답을 종료시킨 후, 이후 응답에 악의적 코드를 삽입, 실행 할 수 있는 취약점 개행문자 - CR (Carriage Return, \r, %0D) : 커서의 위치를 맨 앞으로 이동 시키는 개행 문자 - LF (Line Feed, \n, %0A) : 커서를 다음 행으로 이동 시키는 개행 문자 * HTTP 응답 분할 취약점 동작 방식 1) 공격자는 쿠키 생성에 사용되는 cookieValue 요청 파라미터 조작(kiwi 값 삽입) 및 개행 문자를 통해 HTTP 응답 메세지 분할 시도 2) 서버 측 login.js..
불충분한 세션 관리 취약점 (Insufficient Session Management Vulnerability) * 불충분한 세션 관리 취약점 : 웹 상에서 사용자가 로그인을 할 시, 매번 동일 세션ID(일정 패턴 존재) 발급 또는, 세션 타임아웃을 너무 길게 설정한 경우, 공격자에 의해 세션이 탈취될 수 있는 취약점 * 공격 예시 ex) 웹 프록시를 통해 사용자가 로그인 시, 발생하는 Cookie 정보를 획득(HTTP Session Hijacking), 탈취한 세션ID로 로그인 하여, 해당 사용자의 권한으로 악성 행위 가능. * 취약점 판단 기준 : 세션 ID 분석 및 변조하여 로그인에 성공할 경우, 취약한 것으로 판단 점검 위치 행위 취약 반응 로그인 후 세션 ID 세션 값을 변조하여, 로그인 시도 다중 로그인 성공 로그인 후 세션 ID 로그인과 로그아웃을 반복하여 수집된 세션 ID의 패턴 분석 타 사용자 로그..
파일 삽입 취약점 (File Inclusion Vulnerability) * 파일 삽입 취약점 : 공격자가 악성 서버 스크립트를 서버에 전달, 해당 페이지를 통해 악성 코드가 실행 되도록 하는 취약점 - 악성 스크립트가 삽입되는 위치에 따라, LFI(Local File Inclusion), RFI(Remote File Inclusion)으로 분류 - 경로 제한 또는, 파라미터 변조 등에 대한 필터링의 부재로 경로 접근, 파일 실행, 외부 파일 다운로드 등의 다양한 공격으로 활용 가능 * RFI (Remote File Inclusion) : 공격자가 외부 서버(공격자 서버 등)에 있는 원격 파일을 URL 파라미터에 포함, 전달하여 실행 - ex) 원격지 웹쉘 경로) http://192.168.10.5/hacker/webshell.php - 공격할 대상 페이지 URL의 파라미터에..

반응형