Security
[Kail Linux] Command Injection 알아보기 (커맨드인젝션)
Kyn
2020. 2. 3. 12:00
Command Injection에 대해 알아봅시다
Command Injection이란? 명령어 삽입 공격으로 취약한 운영체제에서 임의의 명령어로 공격하는 기법입니다.
명령어 ; 명령어
의 형태로
ping 127.0.0.1 c 3 ; ls -al
다음과 같은 방법으로 사용됩니다.
Command Injection 공격은 ping으로 예를 들었지만
명령어 ; 명령어
형태로 임의의 명령어가 와도 무관합니다.
ping 명령어는 대상의 호스트가 살아있는지 여부를 알아보기 위한 명령어인데
;(세미콜론) 뒤 다른 명령어를 이어서 전송함으로써 결과를 얻는 방식입니다.
그렇다면 Command Injection의 대응책은 무엇일까?
Command Injection 의 대응책으론 사용자로부터 입력받은 해당 부분 이외 정보는 받지 않게 하는 것이다.
'&' => ' ',
'|' => ' ',
';' => ' ',
다음과 같이 사용자들의 필요정보 이외 특수문자를 입력 받았을때 공백으로 처리해주면서 이러한 공격을 대응하는 것입니다.
사용자로부터 숫자만 입력받아야 한다면
문자를 입력받지 못하게 해 주고
문자만 입력받아야 한다면
특수문자 , 숫자는 입력받지 않게 설정해 둠으로서
Command Injection 공격을 예방할 수 있습니다.