자동화공격 자동화 공격이란 웹 애플리케이션의 정해진 프로세스에 자동화된 공격을 수행함으로써 자동으로 수많은 프로세스가 진행되는 취약점입니다. 이는 DoS(Denial of Service), 무차별 대입 기법(Brute-Forcing), 데이터베이스 과부하와 같은 피해를 일으킬 수 있습니다. 1. 공격 원리 자동화 공격은 다량의 요청이 시도될 때 검증과 적절한 대안 방안을 구축하지 않았기 때문에 발생하는 취약점입니다. 자동화 공격을 방지하기 위해서는 데이터 등록 시 일회성이 될 수 있는 별도의 토큰 사용, captcha 사용, IDS/IPS에서의 탐지 규칙 추가 등이 있습니다. 2. php 코드 Login Login Register 계정정보를 입력해주세요 3. 공격 실습 No. 실습 위치 비고 1 http..
파일다운로드 취약점은 공격자가 파일 다운로드 기능을 이용하여 웹 사이트에 포함된 주요 파일을 다운로드 할 수 있는 취약점입니다. 이는 파일을 다운받는 기능이 포함된 페이지에서 입력되는 경로를 검증하지 않는 경우 임의의 문자나 주요 파일 명을 입력하여 웹 서버의 홈 디렉터리를 벗어나 임의의 위치에 있는 파일을 열람하거나 다운받을 수 있습니다. 1. 공격 원리 파일 다운로드 취약점은 다음의 경우에 발생합니다. No. 원인 상세 1 파일 경로와 파일명 노출 파일 다운로드 시 해당 파일의 상대경로 또는 절대경로를 사용하는 경우 다운로드 모듈이 파일의 경로나 이름을 파라미터로 사용하는 경우 2 파일 경로와 파일명 필터링 부족 ../(상위 디렉터리)를 이용한 Web Root 상위 디렉터리 접근이 가능한 경우 파라미..
Stored XSS 공격 원리 공격자가 악성 스크립트를 취약한 서버에 게시글 형태로 등록시킨 후 사용자가 해당 게시물에 접근 시 스크립트가 실행되어 피해를 발생시키는 공격 기법이다. Stored XSS는 다음의 과정으로 이루어진다. 1. 공격자는 게시판에 Stored XSS 취약점이 있는 것을 확인합니다.2. 공격자는 사용자 쿠키 정보를 탈취하는 스크립트를 포함한 게시물을 작성합니다.3. 희생자는 해당 글 열람 시 쿠키 정보가 공격자에게 전송됩니다.4. 공격자는 희생자의 쿠키 정보를 이용해 계정을 탈취합니다. 공격 실습 No.실습 위치비고1localhost/freeboard/write게시판 게시글 추가 기능 취약 페이지 구현 제목 제목은 필수 입력 항목입니다! 본문 Browse… 파일 용량 제한은 50M..
XSS(Cross Site Scripting) XSS는 공격자가 삽입 또는 제공한 악의적인 스크립트가 사용자의 브라우저에서 실행되는 취약점이다. 악의적인 스크립트 코드가 삽입된 입력 값을 서버가 적절한 검증 절차 없이 반환하기 때문에 발생한다. 공격 방법과 우회 방법, 공격 목적이 다양해 자주 사용되는 공격이기 때문에 서비스에 따라 정확한 보안 대책을 세워야 한다. XSS로 인해 발생되는 피해는 다음과 같다. 사용자의 개인정보 탈취 Keylogger 형태의 스크립트를 사용하여 키보드 입력 값 탈취 사용자의 쿠키정보 탈취 Document.cookie를 사용하여 해당 사용자의 쿠키 값 탈취 피싱 사이트로 강제 이동 Location.href등을 사용하여 페이지 강제 이동 악성코드 다운로드 및 실행 악성코드 다..
Blind SQL Injection 공격 원리 1. SQL Injection 공격 가능 여부 확인 2. 데이터 개수 확인(Table, Column, Data) 3. 데이터 문자열 1개씩 추출 4. 데이터 1개 추출 5. 모든 데이터 추출 6. 원하는 데이터 추출 논리 연산자를 이용해 True인 쿼리문과 False인 쿼리문의 결과를 비교하여 정보를 추출하는 공격입니다. AND 연산자를 사용해 논리가 맞지 않을 때 출력되는 데이터와 참일 때 출력되는 데이터를 비교하여 공격할 수 있습니다. 공격 과정은 다음과 같습니다. 취약 코드 구현 SQL Injection에 사용했던 관리자 로그인 페이지에서 실습한다. 관리자 로그인 php 코드는 gomguk.tistory.com/58 에서 확인할 수 있다. 공격 실습 N..
1. 들어가기 클라우드에 관심이 높아지면서 클라우드 보안에도 중요성이 강조되고 있다. AWS 프리티어를 이용하여 본인이 직접 환경을 구축해서 실습할 수 있는 워게임이 있어 풀이를 해보았다. 2. 실습 준비 ServerlessGoat는 OWASP에서 제안하는 10가지 클라우드 보안 요소를 집약시켜놓은 Playground이다. 공식 Github는 아래와 같다. github.com/OWASP/Serverless-Goat OWASP/Serverless-Goat OWASP ServerlessGoat: a serverless application demonstrating common serverless security flaws - OWASP/Serverless-Goat github.com AWS사이트에서 제공하는..
UNION SQL Injection 취약 게시판 구현 및 공격 실습 1. 공격 원리 1. SQL Injection 공격 가능 여부 확인 2. 컬럼 수 추출 3 . 각 컬럼 데이터형 추출 4. 데이블 목록 추출 5. 원하는 테이블의 컬럼명 추출 6. 원하는 데이터 추출 SQL에서 Union은 두 개의 쿼리문에 대한 결과를 통합하여 하나의 테이블로 보여주게 하는 키워드이다. 정상적인 쿼리문에 Union 키워드를 사용하여 인젝션에 성공하면, 원하는 쿼리문을 실행할 수 있게 된다. Union SQL Injection은 이전 Select 문과 Union Select 문의 칼럼 수가 동일해야 한다는 특징과 칼럼은 각 순서별로 동일한 데이터 형이어야 한다는 특징을 이용한다. 공격 과정은 다음과 같다. 2. 공격 실습..
SQL Injection 1. 공격 원리 SQL Injection는 코드 인젝션의 한 기법으로 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격 방법이다. 문법적 의미가 있는 싱글쿼터(‘)와 주석(#)을 이용해 완성된 쿼리문을 주입해 공격자는 로그인 우회, 데이터 추출 등의 악의적인 행동을 취할 수 있다. SQL Injection의 공격 종류는 다음과 같다. 종류 대상/특징 Union SQLi UNION 절을 이용하여 두 개 이상의 쿼리를 묶어 원하는 정보를 DB에서 추출하는 공격 기법 Error Base SQLi 데이터베이스의 문법에 맞지 않은 쿼리문 입력 시 반환되는 에러 정보를 기반으로 공격하는 기법 Blind SQLi True인 쿼리문과 False인 쿼리문 삽입 시 반환되..
Preview 모의해킹은 중요 시스템의 정보를 탈취, 조작, 파괴 등이 가능한지 파악하는 취약점 진단을 수행한다. 체크리스트 기준으로 항목별 취약점 점검하는 업무를 수행하기 위해 위협이 있을 수 있는 웹사이트를 구현하고 공격자의 입장에서 침투테스트를 실시한다. 진단 항목을 올바르게 이해하고 프로젝트 수행 시 더 나은 결과물을 산출하기 위함이다. 자신만의 웹서버를 가지고 있고 그 서버가 입력 값에 따라 어떤 에러를 내는지 이해한다면 웹 취약점의 원리파악이 쉬워질 것이다. 구현 환경 웹 서비스를 개발 / 구축한 환경은 다음과 같다. 웹 취약점 진단 항목을 정확하게 이해하기 위해 웹 페이지 내 에러메시지 출력 설정이 되어 있으며 서버측 소스코드 및 디버깅 정보가 포함될 수 있다. 환경은 APM(Apache2,..
1. Preview 해커는 시스템, 네트워크 및 정보에 접근하기 위해 다양한 도구를 사용한다. 네트워크 스캐너, 소프트웨어 디버거, 암호공격 도구 등 공격에 있어 도구는 중요한 역할을 한다. 공격으로 부터 방어를 수행하는 보안 전문가는 공격자가 이용할 수 있는 취약점 식별 도구에도 높은 지식이 요구된다. 하지만 숙련된 공격자는 사이버 보안 방어를 무효화하기 위해 상당히 많은 도구를 사용하지만 결국에는 이러한 도구들이 제공하는 정보를 얼마나 잘 결합하고 창의력있게 접목하는지에 따라 공격의 성공 여부가 결정된다. 2. 침투 테스트란? 침투 테스트(Penetration testing)란 무엇일까? 조직의 보안을 테스트하기 위한 공격 도구의 순환적 사용과 이러한 툴의 힘을 숙련된 공격자가 사용했을 때의 격차를 ..