OS 명령어 주입
설명
대상 응용 프로그램 서버에서 임의의 OS 명령어를 실행할 수 있습니다. OS 명령어 주입은 시스템 전체 침해로 이어질 수 있는 심각한 취약성입니다.
조치 방안
사용자 입력은 OS 명령어를 실행하는 함수 또는 명령어 인수를 구성하는 데 사용해서는 안 됩니다. 이에는 사용자 업로드나 다운로드로 받은 파일 이름도 포함됩니다.
애플리케이션이 다음을 하지 않도록 보장하세요:
- 프로세스 이름에 사용자 제공 정보를 사용하여 실행하지 않습니다.
- 셸 메타 문자를 이스케이프하지 않는 OS 명령어 실행 함수에 사용자 제공 정보를 사용하지 않습니다.
- OS 명령어에 매개변수로 사용자 제공 정보를 사용하지 않습니다.
응용 프로그램은 OS 명령어에 전달될 하드코딩된 인수 세트를 가져야 합니다. 이러한 함수에 파일 이름이 전달되는 경우, 파일 이름의 해시를 대신 사용하거나 다른 고유 식별자를 사용하는 것이 좋습니다. 알 수없는 제3자 명령어에 대한 공격 위험으로 인해 OS 시스템 명령어 대신 동일한 기능을 구현하는 네이티브 라이브러리를 사용하는 것이 강력히 권장됩니다.
상세 정보
ID | 집계됨 | CWE | 유형 | 위험 |
---|---|---|---|---|
78.1 | false | 78 | Active | 높음 |