[Java] e.printStrackTrace() 취약점

JooJu·2024년 2월 11일

CWE(Common Weakness Enumeration) 취약점

CWE는 프로그램을 실행시키지 않고 분석만으로 코드의 결함을 검출합니다.
즉, 다양한 소프트웨어 언어 및 아키텍처, 디자인 패턴, 설계 단계에 발생 가능한 취약점을 검출합니다.

SQL인젝션, 크로스 사이드 스크립팅(XSS), 버퍼 오버 플로우 등 결함 식별을 위해 결함의 종류 목록을 체계화하여 제공합니다.

CWE-660 : Java에서 정적 분석 도구에 의해 검출되는 오류(74개)

오류 메세지 처리 메소드

  • e.getMessage() : 에러의 원인 출력
For input String: “”
  • e.toString() : 에러의 Exception 내용과 원인을 출력
java.lang.NumberFormatException: For input string: “”
  • e.printStackTrace() : 에러의 발생근원지를 찾아서 단계별로 에러를 출력
java.lang.NumberFormatException: For input string: “”
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.valueOf(Integer.java:766)
    at makingArt.MakingArt.main(MakingArt.java:17)

런타임 시 오류가 발생한 시점부터 호출한 클래스 및 메소드가 순차적으로 출력되어 구조를 유추할 수 있습니다.

해결방법

외부에 노출될 경우 공격의 빌미를 제공하므로 반드시 보완해야합니다.
최소한의 정보만 제공할 수 있도록 재정의 하거나 아예 삭제하는 방법이 있습니다.


Situation

배치 코드의 e.printStackTrace()가 BigLook 에 걸려서 소스코드 취약점 조치경과 받음

Solution

기간계와 연관된 배치는 아니었으므로 단순삭제로 조치함.

profile
Junior Developer / 기록을 위한 공간입니다.

0개의 댓글