[시큐어 코딩] #4 운영체제 명령어 삽입 :: 잡다한 프로그래밍
반응형

1. 운영체제 명령어 삽입의 정의

다음 그림과 같이 적절한 검증절차를 거치지 않은 사용자 입력값이 운영체제 명령어의 일부 또는 전부로 구성되어 실행될 경우, 의도하지않은 시스템 명령어가 실행되어 부적절하게 권한이 변경되거나 시스템 동작 및 운영에 악영향을 미칠 수 있다.

 

2. 안전한 방법

웹 인터페이스를 통해 서버내부로 시스템 명령어를 전달시키지 않도록 구성하고, 외부에서 전달되는 값을 그대로 시스템 내부 명령어로 사용하지 않는다. 또는 외부입력에 따라 정해진 명령어를 미리 생성하여 선택하여 사용하게한다.

 

3. 예시

사용자의 입력을 검증하지않고 그대로 사용하여 cmd.exe를 사용한 rmanDB.bat 배치 명령어가 수행되는 경우 (배치파일이란 여러명령어를 한번에 실행하기위한 파일을 의미)

다음은 사용자의 입력을 통해 미리 만들어놓은 인자값을 선택하게 만든방법이다.

반응형

+ Recent posts