[SECURITY] 모의해킹 보고서 작성 팁

모의해킹 보고서 작성 팁 정리

목차

  1. 기본 원칙
  2. 레이아웃 작성 원칙
    1. 표와 정렬
    2. 이미지 삽입 원칙
  3. 보고서에 반드시 들어가야 할 항목
  4. 취약점 분류 및 관리 방법
    1. 취약점 구분 기준
    2. 폴더 정리 방법
  5. XSS 보고서 작성 시 정리 포인트
    1. Form Page
    2. Process Page
    3. View Page
    4. 결과 문장 예시
  6. 파일 다운로드 취약점 예시 구조
  7. 기타 알아둘 내용
    1. Self XSS
    2. 요청 헤더 삽입 XSS
  8. 보고서 버전 관리 의미
  9. 문서 작성 실무 팁
  10. 핵심 요약

1. 기본 원칙

  • 보고서는 보기 좋고 읽기 쉽게 작성해야 한다.
  • 단순히 내용만 맞는 것이 아니라, 문서 퀄리티 자체도 업무 능력의 일부로 평가될 수 있다.
  • 사용 프로그램은 보통 워드를 많이 사용하고, 공기업 쪽은 한글을 쓰는 경우가 많다.
  • 본문 폰트는 10pt를 기본으로 사용한다.
  • 문서 전체의 말투와 표현 방식은 처음부터 끝까지 통일해야 한다.
  • 문서 내 하이퍼링크는 제거하는 것이 좋다.

2. 레이아웃 작성 원칙

2.1. 표와 정렬

  • 표 크기는 전체적으로 통일한다.
  • 표 내부의 세로 정렬은 가운데 맞춤으로 맞춘다.

2.2. 이미지 삽입 원칙

  • 취약점 재현 과정은 step별로 사진을 넣어야 한다.
  • 즉,
    • 어디에서
    • 무엇을 클릭해서
    • 어떤 페이지로 들어갔는지
      가 보이도록 순서대로 정리해야 한다.
  • 사진의 너비는 통일하는 것이 좋다.
  • 이미지 삽입 시 테두리를 넣으면 가독성이 좋아진다.
  • 가능하면 웹 브라우저 전체 화면을 캡처한다.
  • 이미지가 깨지거나 찌그러지지 않게 가로·세로 비율을 유지해야 한다.
  • 이미지 안 글씨 크기는 본문 글씨 크기와 비슷한 수준이 좋다.
    • 필요하면 브라우저 창 크기를 줄여서 캡처하는 것도 방법이다.
  • 중요한 부분은 빨간색 박스 등으로 하이라이트해도 좋다.

3. 보고서에 반드시 들어가야 할 항목

취약점 하나를 작성할 때 다음 내용을 포함하는 것이 좋다.

  • 취약점 종류
  • 발견한 취약점
  • 취약점이 발생한 위치
  • 취약한 파라미터
  • 재현 과정
  • 대응 방안

또한 각 취약점에는 발견 경로설명도 함께 적어 두는 것이 좋다.

4. 취약점 분류 및 관리 방법

4.1. 취약점 구분 기준

  • 경로가 다르면 각각 별개의 취약점으로 처리한다.
  • 즉, 같은 XSS라도 발생 위치나 접근 경로가 다르면 따로 기록한다.

4.2. 폴더 정리 방법

  • 취약점 항목별로 폴더를 만든다.
    • 예: XSS
  • 대응 방안이 다르면 세부 취약점별로 다시 폴더를 나눈다.
    • 예: Stored_XSS, Reflected_XSS
  • 폴더 이름은 띄어쓰기 대신 _(언더바) 를 사용한다.
  • 폴더 내부에는 다음 자료를 정리한다.
    • 증적 사진
    • 취약점 설명 문서

5. XSS 보고서 작성 시 정리 포인트

XSS 취약점 보고서를 작성할 때는 관련 페이지를 역할별로 구분해서 적는 것이 좋다.

5.1. Form Page

  • 예: write.php
  • 사용자가 글을 입력하는 페이지
  • 이 페이지를 기록하는 이유:
    1. 개발자가 어떤 화면을 수정해야 하는지 빠르게 파악할 수 있음
    2. 이행점검 시 수정 후 취약점이 해결되었는지 확인하기 쉬움

5.2. Process Page

  • 예: write_process.php
  • 입력 데이터를 실제로 처리하는 페이지

5.3. View Page

  • 예: view.php
  • 저장된 데이터가 출력되는 페이지

5.4. 결과 문장 예시

  • 의도한 임의의 스크립트가 실행됨을 확인함

이런 식으로 결과를 명확하게 적는다.

6. 파일 다운로드 취약점 예시 구조

예를 들어 다음과 같은 URL이 있다고 가정한다.

download.php?id=1

게시판 테이블 구조가 아래와 같다면:

id title file_path
1 test /upload/test.png

서버는 대체로 다음과 같은 방식으로 동작한다.

  • id=1을 받아
  • DB에서 해당 게시글을 조회하고
  • file_path 값을 읽어
  • 해당 파일을 다운로드하게 한다

이런 구조에서는 다운로드 대상 파일 검증이 미흡하면 파일 다운로드 취약점으로 이어질 수 있다.

7. 기타 알아둘 내용

7.1. Self XSS

  • Self XSS는 단순히 본인에게만 실행되는 것처럼 보여도,
  • MITM 공격 등과 결합되면 세션 탈취 같은 문제로 이어질 수 있다.

7.2. 요청 헤더 삽입 XSS

  • XSS는 URL 파라미터나 입력 폼뿐 아니라,
  • 요청 헤더에 삽입되는 형태로도 발생할 수 있다.

8. 보고서 버전 관리 의미

버전 표기는 다음과 같이 이해하면 된다.

  • v1.0 : 최종 완성본
  • v1.x : 사소한 버그 수정, 작은 취약점 제거
  • vX.0 : 기능 추가, 큰 변화, 대규모 개편

즉,

  • 소규모 수정은 마이너 버전 증가
  • 큰 변경은 메이저 버전 증가 로 이해하면 된다.

9. 문서 작성 실무 팁

  • 필드 업데이트페이지 전체 업데이트의 개념을 구분해서 이해해 둘 것
  • 워드에서는
    단락 → 줄 및 페이지 나누기 → 현재 페이지에서 글 나누기
    기능을 활용하면 문단 분리를 깔끔하게 할 수 있다.

10. 핵심 요약

모의해킹 보고서는 단순한 결과 기록이 아니라,
재현 가능성, 가독성, 개발자 친화성, 이행점검 편의성까지 고려해서 작성해야 한다.

특히 중요한 포인트는 다음과 같다.

  • 본문 10pt 유지
  • 표/이미지 크기 통일
  • 이미지 비율 유지 및 테두리 적용
  • 재현 과정을 step별로 정리
  • 발견 위치, 파라미터, 대응 방안 명확화
  • 경로가 다르면 별도 취약점으로 분리
  • 취약점별 폴더 구조 체계화
  • 보고서 말투와 형식 통일

결국 좋은 보고서는
“취약점을 찾았다”에서 끝나는 것이 아니라
누가 봐도 이해할 수 있고, 바로 수정 작업에 들어갈 수 있게 만드는 문서라고 볼 수 있다.

Comments

Newest Posts