Command Injection
1) 정의
- 시스템 명령어를 실행하는 함수에 사용자가 임의의 인자를 전달할 수 있을 때 발생
- 웹 애플리케이션이 구동 중인 서버 운영체제에서 임의의 명령을 실행하도록 하는 공격 기법
- 쉘 함수를 통해 시스템 셸로 전달되는 명령에 사용자로부터의 입력값이 포함될 때 발생
2) 공격 수행 시 필요 조건
- 시스템 셸로 전달되는 명령에 사용자 입력값 포함
- 사용자 입력값이 이스케이프 없이 정상적으로 인식
- 웹 애플리케이션을 구동 중인 계정에 시스템 명령 실행 권한 있는 경우
3) 주로 사용되는 메타문자
- '' : ''안에 들어있는 명령어를 실행한 결과로 치환
- | : 왼쪽 명령의 결과를 오른쪽 명령의 입력으로 전달
- && : 왼쪽 명령 성공적으로 실행하면 오른쪽 명령 실행
- || : 왼쪽 명령 실패하면 오른쪽 명령 실행
- ; : 여러 명령 사용할 때 구분짓기용
4) 주로 사용되는 명령어
- id, pwd
Ex) 워게임 내 Command Injection
Ex2) 워게임 내 Command Injection