진단 API가 사용자 입력 host를 검증하지 않고 `exec("ping -c 1 " + host)`로 실행한다. 공격자가 host에 `127.0.0.1; cat /etc/passwd`를 넣어 두 번째 명령까지 실행했다. 취약점은?
정답 4번
문제의 직접 원인은 사용자 입력을 셸 문자열로 이어 붙인 것이다. 가능하면 셸을 호출하지 않는 안전한 API를 사용하고, 불가피하면 명령과 인수를 분리하며 허용 목록 검증과 최소 권한을 적용해야 한다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21