발생원인
입력 값의 크기에 대한 검증이 없는 경우 발생
영향
시스템 오류 발생, 임의 명령 실행, 시스템 점령등
코드예
안전하기 않은 코드의 예 - JAVA |
…… public static void main(String[] args){ int size = new Integer(args[0]).intValue(); size += new Integer(args[1]).intValue(); MyClass[] data = new MyClass[size]; …… |
size 크기에 대한 검증 절차가 없다. |
안전한 코드의 예 - JAVA |
…… public static void main(String[] args) { int size = new Integer(args[0]).intValue(); size += new Integer(args[1]).intValue(); // 배열의 크기 값이 음수값이 아닌지 검사한다. if (size < 0) return ; MyClass[ ] data = new MyClass[size]; …… |
size에 대한 크기 검사를 수행한다. |
'보안 > 시큐어코딩' 카테고리의 다른 글
[시큐어코딩-15] 보안기능(1) 적절한 인증없는 중요기능 허용 (0) | 2012.10.28 |
---|---|
[시큐어코딩-14] 입력데이터 검증및 표현(14) 보호매커니즘을 우회할 수 있는 입력값변조 (0) | 2012.10.28 |
[시큐어코딩-12] 입력데이터 검증및 표현(12) HTTP응답 분할 (0) | 2012.10.28 |
[시큐어코딩-11] 입력데이터 검증및 표현(11) 디렉토리 경로조작 (0) | 2012.10.28 |
[시큐어코딩-10] 입력데이터 검증및 표현(10) 크로스사이트 요청위조 (0) | 2012.10.28 |