본문 바로가기

정보보안/애플리케이션 보안

(22)
[웹 애플리케이션 취약점] 기타 취약점 정보누출 취약점① 개념웹 애플리케이션의 민감한 정보가 개발자의 부주의로 인해 노츨되는 것주석구문에 포함된 정보가 의도치 않게 노출에러페이지/메시지를 통한 불필요한 정보 노출정보누출은 자체만으로 피해가 크진 않지만, 공격자가 공격하기 전 사전 정보 수집과정에서 실마리를 제공해주는 역할을 한다.② 대응책웹서버 설정 파일(httpd.conf)를 통해 사용자 정의 에러 페이지를 설정한다.ErrorDocument 지시자를 이용해 각 에러 코드별로 에러페이지를 생성하여 등록PHP 환경의 설정파일(php.ini)을 통해 에러메시지를 차단한다.php.ini 파일의 display_errors = Off 추가HTTP 응답 분할 취약점(Response Splitting)① 개념클라이언트의 HTTP 요청에 포함된 요청 파라미..
[웹 애플리케이션 취약점] 불충분한 세션 관리 취약점 불충분한 세션 관리 취약점① 개념웹 애플리케이션에서 사용자가 로그인할 때 매번 동일한 세션 ID를 발급하거나 세션 타임아웃을 너무 길게 설정하였을 경우 공격자가 사용자의 세션을 재사용하여 해당 사용자의 권한을 탈취할 수 있는 취약점 ② 공격과정 admin 계정으로 로그인 및 세션 쿠키 정보 획득웹 프록시를 통해 admin 로그인 후, 세션ID(PHPSESSID) 정보 획득(ex.Cookie: PHPSESSID=..특정 패턴이 있는 세션 ID..)다른 브라우저에서 탈취한 세션 ID 정보로 로그인HTTP 세션 하이재킹 : 탈취한 세션 ID를 이용하여 다른 브라우저에서 admin 계정 세션을 가로채기를 성공하는 것. ③ 취약점 판단 기준세션 ID를 분석 및 변조하여 로그인 시도 시 로그인에 성공할 경우 해당 ..
[웹 애플리케이션 취약점] 파일 삽입 취약점 파일 삽입 취약점File Inclusion① 개념공격자가 악성 서버 스크립트를 서버에 전달하여 해당 페이지를 통해 악성코드가 실행되도록 하는 취약점LFI(Local File Inclusion) : 삽입할 악성 서버 스크립트 파일의 위치가 로컬 서버에 위치RFI(Remote File Inclusion) : 삽입할 악성 서버 스크립트 파일의 위치가 원격지에 위치 ② 공격 절차include 함수를 이용한 페이지 확인if(..) {$target =$_REQUEST[fname];...include($target) //외부로부터 입력받은 target파라미터를 이용해 include 수행}include 함수 : 지정한 파일(페이지)을 인수로 받아 현재 페이지에 포함해 실행시켜주는 함수. 만약 파일/페이지 정보를 외부로..
[웹 애플리케이션 취약점] 경로 추적 취약점 경로 추적 취약점Path Traversal, 조작/경로 순회 취약점 ① 개념웹서버와 웹 애플리케이션 파일 또는 디렉터리 접근이 통제되지 않아 웹서버 또는 웹 애플리케이션의 중요한 파일과 데이터에 대한 접근 및 실행이 허용되는 취약점웹 애플리케이션 루트 디렉터리를 벗어나 시스템의 주요 파일과 데이터에 접근.일반적으로 경로를 조작하기 위해 상대경로 참조방식(../,..\ 등)을 사용한다.주요 경로 조작 문자 및 인코딩 방식경로 조작 문자./\1. (유닉스/리눅스) ./(현재 디렉터리), ../(상위 디렉터리)2. (윈도우) .\(현재 디렉터리), ..\(상위 디렉터리)URL 인코딩.(%2e)/(%2f)\(%5c)더블 URL 인코딩.(%252e)/(%252f)\(%255c)URL 인코딩된 문자열을 한번 더 인..
[웹 애플리케이션 취약점] 파일 다운로드 취약점 파일 다운로드 취약점① 개념파일 다운로드 기능이 존재하는 웹 애플리케이션에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우, 이를 적절히 필터링하지 않으면 공격자가 경로 및 파일명을 조작하여 허용되지 않은 파일을 다운받을 수 있는 취약점공격자는 취약점을 이용하여 중요한 파일(데이터베이스 연동 파일 등)을 다운받을 수 있다. ② 공격과정파일 다운로드 시, URL 파라미터를 살펴 실제 저장된 파일명과 원본 파일명을 유추한다.(ex. real_name=1234&show_name=show)파일 다운로드 취약점이 존재하는 페이지면 실제 파일명을 의미하는 파라미터를 조작해 허용되지 않는 파일을 다운로드 한다. ③ 취약점 판단기준게시판, 자료실 등 파일 다운로드가 가능한 페이지의 URL/파..
[웹 애플리케이션 취약점] 파일 업로드(File Upload) 취약점 ① 개념파일 업로드 기능이 존재하는 웹 애플리케이션에서 업로드 파일에 대해 적절한 필터링을 하지 않을 경우, 허가되지 않은 파일들이 웹서버로 업로드될 수 있는 취약점(취약점 1) 업로드 파일 타입,확장자를 체크하지 않고 업로드를 허용하는 경우 (웹쉘)webshell이 업로드(취약점 2) 업로드하는 파일 개수나 크기에 제한을 두지 않을 경우 다량의 큰 파일을 전송해 시스템 장애(피해자) 서버, 해당 웹을 이용하는 사용자 ② 공격 과정공격자는 게시판을 이용해 웹쉘(webshell.php) 파일 첨부POST 요청의 multipart/form-data 형식(MIME타입) 으로 서버 전달(APM 환경) 파일명은 webshell.php이고 파일 내용은 base-64로 인코딩되어 전달됨(APM 환경) 내용을 살펴보면..
[웹 애플리케이션 취약점] 운영체제 명령 실행 취약점 운영체제 명령 실행 취약점(OS Commend Execution) ① 개념적절한 검증 절차(필터링 등)를 거치지 않은 사용자 입력값이 운영체제 명령어의 일부 또는 전부로 구성되어 실행되는 경우, 의도되지 않은 시스템 명령어가 실행되어 운영에 악역향을 끼치는 취약점(취약점) 웹 애플리케이션에서 시스템 명령어(system(), exec() 등)를 실행할 수 있는 함수를 제공하며, 사용자 입력값에 대한 필터링이 제대로 이루어지지 않을 경우 발생한다.(공격 결과) 시스템 계정 정보 유출, 백도어 설치, 관리자 권한 탈취 등의 공격을 수행한다.② 공격 과정공격자는 입력 폼에 시스템 명령어를 삽입한다.같은 리눅스 명령어가 실행될 수 있는 페이지(ex. ip 입력시, ping 명령을 테스트한 결과를 반환하는 페이지)..
[웹 애플리케이션 취약점] XSS CSRF SSRF 크로스 사이트 스크립트(XSS:Cross Site Script) ① 개념공격자가 입력이 가능한 폼(웹브라우저 URL 또는 게시판 등) 에 악의적인 스크립트를 삽입, 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 공격을 수행하는 것(입력값) 스크립트(악성코드 동작 위치) 희생자공격자는 취약점을 이용해 사용자의 개인정보 및 쿠키 정보 탈취, 악성코드 감염, 웹페이지 변조 등의 공격을 수행한다.② 공격 유형Stored XSS(저장형 XSS) : 공격자가 취약한 웹서버에 악성 스크립트를 저장(게시판 등을 통해 DB에 저장)해놓으면 희생자가 해당 자료를 요청(게시물 클릭 등)할 때, 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작하는 방식공격 과정공격자는 게시판을 이용해 악성 ..