모의해킹 보고서 작성 팁 정리
목차
- 기본 원칙
- 레이아웃 작성 원칙
- 보고서에 반드시 들어가야 할 항목
- 취약점 분류 및 관리 방법
- XSS 보고서 작성 시 정리 포인트
- 파일 다운로드 취약점 예시 구조
- 기타 알아둘 내용
- 보고서 버전 관리 의미
- 문서 작성 실무 팁
- 핵심 요약
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 - 사용자가 글을 입력하는 페이지
- 이 페이지를 기록하는 이유:
- 개발자가 어떤 화면을 수정해야 하는지 빠르게 파악할 수 있음
- 이행점검 시 수정 후 취약점이 해결되었는지 확인하기 쉬움
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