15. 보기의 명령은 CVE-2014-6271 취약점을 테스트해 볼 수 있는 예제이다. 이 취약점은 인터넷을 통해 간단한 명령만으로 시스템을 장악할 수 있는 심각한 취약점으로 NIST는 하트블리드보다 높은 위험 점수인 10점을 부여하였다. 아래 질문에 답하시오.
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"1) 이 취약점의 이름은? 2) 보기의 명령을 실행했을 때 취약점이 존재하는 경우와 존재하지 않는 경우의 결과를 설명하시오. 3) 결과가 나오는 이유에 대해 설명하시오.
정답 확인 | 맞췄어요 O | 틀렸어요 X |
2) 취약점이 있는 경우 vulnerable this is a test 라고 출력되고, 취약점이 없는 경우 this is a test라고만 출력된다.
3) Bash쉘이 제공하는 함수 선언기능을 이용한 취약점이다. "() {"로 시작하는 함수 선언문 끝에 명령어를 삽입해 환경변수에 저장할 경우 삽입한 명령어까지 실행된다.