※ 주의 : 보안 관련 학습은 자유이지만, 학습 내용을 사용한 경우 법적 책임은 행위자에게 있습니다. (Note: Security-related learning is allowed, but the individual is solely responsible for any legal consequences arising from the use of the acquired knowledge.)
※ 공부 기록용 포스트이며, 검수를 하고 올리지만 간혹 잘 못된 정보가 있을 수도 있습니다.
필자는 전혀 몰랐습니다만, 일단 보고서는 아무래도 컴퓨터 분야라서 그런지 MS-word를 써야 한다고 합니다. 저는 hwp로 작성 후 PDF로 변환하였습니다. MS-word 사용에 익숙해집시다. 보고서 내용이 CTF 문제의 스포일러이기 때문에 풀지 않으신 분들은 푸신 후, 보시기를 바랍니다. 보고서 PDF 파일은 (https://freestyle.tistory.com/35)에 첨부되어 있으며, 본 포스팅에서는 그림 파일로 리뷰 합니다.
1 페이지 리뷰
소속, 작성자 이름은 일부러 뺀 것이다. (원래 있어야 한다.)
하이퍼링크를 달아놓은 점은 좋으나 색깔이 전부 파란색이라 단조롭다.
목차 뒤에 페이지 넘버가 있는게 좋지만 10페이지 짜리라서 생략했다.
레이아웃이 전체적으로 왼편으로 쏠려 있어서 우측에 그림을 넣던지,
목차를 다단 2분 할로 좌우 측 배치 후 아랫단에는 가로가 긴 그림을 배치하면 좋을 것 같다.
회사의 심볼, 로고나 XSS를 뜻하는 바 또는 컴퓨터 관련 그림이 좋을 것 같다.
배경을 넣는 방법도 좋은 방법일 것이다.
2에서 '보고서 내용'보다는 '취약점 진단 결과'나 '분석 결과' 같은 단어가 어울린다.
'XSS1'보다는 'XSS 1' 또는 'XSS_1'로 숫자 앞에 한 칸 정도 띄웠어야 했다.
2 페이지 리뷰
글꼴이 단조로운 것은 유료 글꼴로 포스팅하면 저작권 문제로 곤란해질 수 있기 때문에 내용은 굴림체로 통일하였다.
제목 아래 단에 1개만 쓸 거면 굳이 '1)' 같은 넘버링 식별자를 붙일 필요가 있을까 생각된다.
가급적 지양하고, 개수가 많지 않다면 ◆, ● 이런 특수문자가 어울린다.
'다. XSS 취약점의 확인 방법' 부분에서 내용이 부실하다.
'라. XSS 취약점의 위험성' 부분에서 레이아웃이 보기에 불편하다.
투명 선을 가진 표나 글 상자를 사용해서 정렬을 하던지해서 좌우 정렬을 통해 맞추는 것이 좋을 것 같다.
취약점을 찾는 과정을 넣으면 너무 길어져서 넣을까 말까 고민했는데, 앞으로 일단, 빼는 일이 있더라도 넣는 쪽으로 작성해야겠다.
3 페이지 리뷰
본격적인 내용 부분이다.
'분류 :'와 '공격 방법 :'의 세로 레이아웃을 맞추면 좋을 것 같다.
이럴 경우 '분류'라는 단어를 길게 쓰기 위하여 'XSS 분류'라고 작성하던지, '공격 방법' 단어 길이를 줄이는 방법을 사용하면 좋고, 투명한 표를 이용하면 좋다.
스크린샷 2개 중 첫 번째 스크린샷에는 빨간 박스가 있는데 두 번째 캡쳐에는 없다. 통일감을 저해하고 있고, 어느 부분이 핵심인지 표시해 주면 가독성도 올라간다.
2)에서는 '스크린샷'이라고 표현하고 캡션에선 '캡쳐'라고 표현했다. 통일해야 한다.
4 페이지 리뷰
공격 링크 예시 때문에 레이아웃이 점점 더 무너진다. 아래 그림과 같이 수정하면 좋다.
캡쳐1에서 내측 박스가 의미하는 바 (alert는 작성된 코드라 수정할 수 없지만 해당 부분에 원하는 스크립트 삽입 가능)를 잘 표현하면 좋을 것 같다.
캡쳐2에서는 빨간 박스가 없다.
'첫번째, 두번째, 세번째' → '첫 번째, 두 번째, 세 번째' 띄어쓰기 오타이다.
레이아웃 수정 2곳, 링크는 투명한 글상자 사용
5 페이지 리뷰
'나.XSS2'가 5페이지 첫 줄까지 침범하였다.
물론 지적하고 있는 필자도 모르는 바는 아니나, 뒷장을 보면 대부분 맞게 열심히 잘라서 맞추었고, 어렵고 시간이 없어서 이대로 제출하였다.(핑계 맞다..)
하지만, 그림을 더 자르든지 해서 한 페이지에 넣는 것이 좋다.
캡쳐4의 캡션 부분에 점이 잘못 띄워졌다. (오탈자)
스크린샷의 내부 레이아웃이 맞지 않다. 깐깐한 상급자를 만난다면 이 정도도 지적 당할 수 있다.
물론 필자도 틀어진 것을 알고 있다. 웬만하면 웹브라우저 크기를 변경하지 않고 거의 최대한 맞췄는데 오타 때문에 새로 캡쳐하고 시간이 없어서 바로 올리느라 레이아웃이 틀어진 것이다..
6 페이지 리뷰
필터링 우회 방법에 대해 설명이 조금 더 필요하다. 'script'를 필터링 하는 상황에서는 'scripscriptt' 이렇게 사용할 수도 있다. 캡쳐에서는 대문자를 사용했다고 설명을 적으면 좋겠다. 그리고 기억으로는 alert도 필터링 당해서 prompt를 썼었던 것 같다.
첫 번째 스크린샷에서 뜬금없이 주황색 글씨를 사용했다. 통일감 있게 빨간색을 하는 것이 맞아 보인다. 띄어쓰기 오타가 보인다. '게시글작성' → '게시글 작성'으로 수정이 필요하다.
7 페이지 리뷰
또, '라.XSS4'의 내용이 잘렸다. 이런 경우 세로는 최대한 잘랐음에도 부족한 경우라면, 캡쳐3과 캡쳐4의 내용이 같은 글에서 실행되는 부분이라 잘라서 좌우로 붙여서 1개의 크기로 만들어서 배치하면 좋다. 아래 그림 참고
또, '마.XSS5'의 내용은 스크린 샷을 하나 정도 더 추가해서 2개 페이지에 꽉 채우는 것이 보기 좋을 것이다.
8 페이지 리뷰
보고서를 읽는 독자 수준이 다양 할 것이므로 '자바스크립트 사용 중지'를 F12(개발자 도구) - F1을 누른 화면에서 하고 있다는 점을 알려주면 좋을 것이다.
9 페이지 리뷰
'가)'에서 장평이나 자간을 줄여서 한 줄로 만들어야 한다. 가급적 자간 먼저 이용.
'입력시' → '입력 시' 띄어쓰기 오타이다.
스크린샷 좌우 레이아웃이 맞지 않다.
버프 스위트 화면의 글씨가 너무 작아서 보이지 않는다.
10 페이지 리뷰
캡션에서 특수문자 대시를 두 번 사용하면 혼란을 야기할 수 있기 때문에 두 번 사용하는 것은 지양해야 한다.
두 번째 스크립트부터 마음대로 사용할 수 있다는 점을 알려주면 좋을 것 같다.
전반적인 총평
정말 냉정하게 대기업 사무직 기준으로 보면 60점짜리 보고서이다. (열심히 써놓고 내가 나한테 60점이라니; 내가 나한테 악플을 다는 것 같아서 인지부조화가 온다.) 신입이면 넘어가 줄 수 있고, 1~2년 차 사무직이 이렇게 쓰면 한 소리 들을 수 있다. 팀 내부에서 결재가 끝나는 내부문서이면 pass이고, 임원급의 결재나 외부로 나가는 문서라면 fail이다.
큰 레이아웃만 맞췄고, 언급 한 것처럼 디자인적 요소와 내용의 퀄리티 및 양을 고려해야 한다. 디자인이 완벽하면 +10~20점, 내용에서 보충이 잘 되면 +10~20점을 더 줄 수 있다.
내용에 있어서는 보고서를 받는 사람에 따라 문서의 양과 깊이가 달라지긴 하지만, 취약점 분석 과정을 좀 더 넣는 게 좋겠다. 방어 방법까지는 넣어야 하나 고민이다. 왜냐하면 방어 방법까지 넣으면 개발 분야의 선을 넘는 게 아닌가 싶어서이다.