목록어플리케이션 보안 운영 (17)
kjh00n의 기록저장소

WAPPLES- 펜타시큐리티 지능형 웹 애플리케이션 방화벽 - 웹 서버 앞단에 위치하여 외부로부터 들어오는 HTTP/HTTPS 프로토콜 트래픽 감시 - 방화벽(Firewall)에서 차단하지 못하는 유해 트래픽이 웹 서버에 도달하지 못하도록 차단 - 신뢰할 수 있는 웹 애플리케이션 보호 In-Line Mode Proxy Mode탐지 정책VirtualBox Host-Only를 GNS에서 연결할 때 바로 스위치와 연결을 하면 안된다.무조건 스위치 1개는 껴서 사용해라실습① Directory Listing ② SQL Injection③ XSS

File Upload 취약점● 웹 서버가 제공하는 파일 업로드 기능을 이용하여 악성 스크립트를 업로드하는 공격● 서버에서 실행될 수 있는 파일을 업로드하여 공격자가 원하는 기능을 동작하게 함● 적절한 검증 없이 파일 업로드 기능을 제공할 때 발생하는 취약점 → 확장자 검증 필요 보안 대책● upload 되는 파일의 확장자를 검사해야 한다확장자에 대한 허용/거부 목록을 작성하여 검증 수행● 파일이 업로드 되는 디렉토리의 권한을 적절하게 설정해야 한다취약점 실습이후에 똑같이 홈페이지에서 upload2.php 파일 올려주기필터링 실습board_write_ok.php 파일에 설정 ↓# 파일 확장자 검사 if(preg_match("/.php|.html|.php3|.phtml/i",$f_name)) {..

File Download 취약점● 웹 서버의 파일을 강제로 Download하는 취약점● Directory Traversal에 의해 다른 위치에 있는 파일도 다운로드 가능● 적절하게 처리하지 못한 파일 확장자로 인해 발생하는 취약점 → 미등록 확장자● 부적절한 환경 설정에 의해 소스 코드 파일 또는 백업 파일 등이 다운로드 가능● 텍스트 형태나 파일 다운로드 형태로 반환됨 피해 범위● 시스템의 중요 파일이 외부로 노출됨소스코드, 중요 시스템 파일 및 설정 파일 보안● Directory Traversal에 해당하는 "../" 문자열을 적절하게 필터링● 다운로드 할 수 있는 디렉토리 및 확장자 제한● 업로드된 파일만 다운로드 할 수 있게 적절히 필터링File Download 취약점 실습 ↑ 웹페이지에서 파일을..

Directory Listing 취약점● 웹 서버에서 Directory Listing 기능을 제공하고 있는 경우 발생하는 취약점 ● 파일명이 아닌 상위폴더(디렉토리)까지 지정한 경우 폴더(디렉토리)내의 모든 하위 구조를 웹 페이지를 통해 노출시킴피해 범위● 웹 서버 구조 노출● 파일 목록 노출 및 다운로드 가능● URL 강제 접속 가능 보안● 모든 디렉토리에 Default File을 생성● Directory Listing 기능 비활성화

Time Based SQL Injection● 페이지의 결과로 공격의 참과 거짓을 알 수 없는 경우에 사용되는 기법● 대입 값에 대한 참 또는 거짓의 결과를 응답의 전송 시간을 이용하여 판단함● 쿼리문의 참/거짓에 따라 응답 시간을 다르게 하여 참/거짓을 판별sleep(), benchmark() 등의 함수가 이용● Sleep 함수를 이용하여 참/거짓에 따라 출력하는 시간을 조정● and 연산자의 특징을 이용 → short cut조건 and 조건 (앞의 조건이 거짓이면 뒤의 조건은 실행조차 안함. 이미 결과는 거짓으로 결정됨)1 and sleep(3); → 1은 참이기에 sleep함수도 실행0 and sleep(3); → 0은 거짓이기에 sleep함수는 실행안함sleep함수가 실행되면 앞의 조건이 참이고 ..

Blind SQL Injection● 웹 서버의 보안 설정으로 기존의 SQL Injection을 통한 정보 획득이 불가능한 경우 시도할 수 있는 공격● 에러 메시지를 통해 직접적으로 정보를 획득하지 않음● 눈에 보이지 않기 때문에(결과값이 응답 페이지에 없음) 일일이 하나씩 유추해서 원하는 결과를 얻어야함● 공격자가 유추한 데이터를 SQL Query에 대입하여 결과를 참/거짓으로 구분하여 데이터를 획득 특징● 참/거짓을 구분할 수 있는 서버의 응답이 필요함● Brute Forcing한 문자씩 대입 공격을 수행함 → substring(문자, 시작위치, 크기)공격의 시간이 오래 소요 됨● 많은 양의 Log를 발생시키므로 공격횟수를 최소화 해야함Boolean SQL Injection실습substr(원본데이터,..