1121~1123 일지

Yesol Lee·2022년 11월 23일
0

개발일지 - 2022

목록 보기
170/187

프로젝트

기능점검 감리 참여

  • 3개 사이트 기능점검 감리에 참여하여 기능테스트 및 설명 담당함
  • 감리 종료 후 지적사항 정리 (구현 필요 기능, 미확인 기능, 필요 데이터 등)
  • 정리한 수정요청사항 PM, 외부업체 및 개발담당자에게 전달
  • 반영사항 테스트 및 정리

웹 취약성 점검 내용 보완

  • 웹 취약성 점검 결과 중 e.printStackTrace() 부분 제외한 나머지 코드 오류 전부 수정

새로 알게 된 보안 취약점 관련 사항들

1. e.printStackTrace()

try~catch 예외처리 시 e.printStackTrace()를 사용할 경우 다양한 프로젝트 관련 정보를 다량 노출하게 되기 때문에 보안이 취약해진다고 한다.

2. 하드코드 된 중요 정보들

변수명에 password 등이 들어가는 등 중요 민감 정보로 분류되는 변수를 선언할 때 미리 값을 할당해놓으면 취약성 검사에 걸린다는 것을 알게 되었다. String password=""; 이런 식으로 공백을 할당해도 문제가 되니 주의하여야 한다.

3. 크로스사이트 스크립트(XXS) 취약성

먼저 크로스사이트 스크립트 문제란, 웹사이트의 입력창에 javascript, html태그, html 속성, 마우스이벤트, flash, activeX 등 웹브라우저에서 실행가능한 데이터를 입력해서 개발자 의도와 다른 동작을 하게 하는 공격방법이다.

웹 취약성 점검 결과, JSP 코드 내에 EL 문법을 사용하여 값을 출력할 경우 XXS 문제가 탐지되었다. 이 부분은 jstl c:out을 사용하도록 변경해서 보완하였다.

보완 전
<span>${username}</span>

보완 후
<span><c:out value="${username}"/></span>

4. null 포인터 역참조

코드 상 null이 될수도 있는 변수를 참조하는 코드가 있을 경우 탐지되는 문제였다.
참조하기 전 해당 변수가 null인지 체크를 한 후 코드를 입력하도록 변경해서 보완하였다.

String [] usernames = null;
// 기존
System.out.println(usernames.toString());

// 수정
if(usernames != null) {
	...
}
profile
문서화를 좋아하는 개발자

0개의 댓글