위 사진의 대시보드는 현재 자신의 서비스(어플리케이션) 분석 현황을 한 눈에 볼 수 있도록 나타낸다.
대시보드에서는 원하는 분석 파일로 접근이 용이하다.
또한, 좌측 상단의 '점검대상 변경'을 통하여 변경하고자 하는 파일로 변경이 가능하다.
우측 상단의 룰 관리를 누른 뒤, 좌측의 '프리셋 관리'에서 취약점 점검 룰을 새로만들기/수정이 가능하다.
소스코드 분석에 앞서 소스코드의 취약점 점검을 위한 점검항목을 선정하는 단계이다.

위의 사진 처럼 서비스 개발 언어에 맞는 XSS 취약점을 선택할 수 있으며, 좌측에는 솔루션이 제공이 된다.
-
프리셋 관리 선택
-
새로 만들기
-
자신의 개발 언어에 맞는 룰을 'SW개발보안 가이드'의 47개 항목을 선정하여 프리셋을 생성할 수 있도록 한다.

위 사진의 가장 우측 '검사 시작'을 눌러 분석을 진행한다.

분석 진행중인 것을 우측 하단에서 확인할 수 있다.

위 사진처럼 정적분석을 통하여 추출된 취약점을 높음/보통/낮음 형태로 확인 할 수 있다.

90번째 라인을 통해 setMaxAge의 값이 필요이상으로 높은것을 확인 할 수 있다.
쿠키는 기본적으로 클라이언트의 디스크에 상주하기에 쿠키의 저장 기간이 길어질 수록 공격자에게는
보다 많은 시간과 기회를 줄 수 있어, 이는 시스템 취약점과도 연결될 소지가 있다.

27번째 라인을 통해 스크립트 문이 서버에 저장되어 사용자의 정보유출 및 CSRF까지 유발할 소지가 있다.
아이디/내용/비밀번호는 boardWritePro.jsp로 전달이 되어 처리되어진다.
아래는 boardWritePro.jsp의 소스코드 일부이다.

위 사진의 29~33번째 라인은 적절한 입력값 검증 없이 게시글이 DB에 저장됨을 확인할 수 있다.

분석도구에는 잡히지 않았으나 파일 업로드 시, 적절한 확장자/사이즈 검증 부재를 통해
공격자는 스크립트 파일 삽입이 가능해져 시스템 내부 침투와 외부 연결이 가능할 소지가 있다.

개발 시 테스트를 위한 디버그 코드가 실제 배포시, 제거되지 않아 공격자에게 의도치 않은 정보 누출이 가능해진다.
이외에도 인증 시도 부재, 비밀번호 정책 부재, 전송간 암호화, 평문 저장 등 취약점들이 존재하였다



