본문 바로가기
Security

[Kail Linux] Command Injection 알아보기 (커맨드인젝션)

by Kyn 2020. 2. 3.

Command Injection에 대해 알아봅시다

Command Injection이란? 명령어 삽입 공격으로 취약한 운영체제에서 임의의 명령어로 공격하는 기법입니다.

 

명령어 ; 명령어

의 형태로

 

ping 명령
ping ip address ; 명령어 형태

 

ping 127.0.0.1 c 3 ; ls -al

다음과 같은 방법으로 사용됩니다.

Command Injection 공격은 ping으로 예를 들었지만

명령어 ; 명령어

형태로 임의의 명령어가 와도 무관합니다.

ping 명령어는 대상의 호스트가 살아있는지 여부를 알아보기 위한 명령어인데

;(세미콜론) 뒤 다른 명령어를 이어서 전송함으로써 결과를 얻는 방식입니다.

 

그렇다면 Command Injection의 대응책은 무엇일까?

Command Injection 의 대응책으론 사용자로부터 입력받은 해당 부분 이외 정보는 받지 않게 하는 것이다.

 

'&' => ' ',
'|' => ' ',
';' => ' ',

다음과 같이 사용자들의 필요정보 이외 특수문자를 입력 받았을때 공백으로 처리해주면서 이러한 공격을 대응하는 것입니다.

사용자로부터 숫자만 입력받아야 한다면

문자를 입력받지 못하게 해 주고

 

문자만 입력받아야 한다면

특수문자 , 숫자는 입력받지 않게 설정해 둠으로서

Command Injection 공격을 예방할 수 있습니다.

 

 

 

댓글