문제 화면입니다. bash에 관한 문제일듯 싶습니다.



4개의 파일이 있습니다.



bash파일을 실행하면 sub bashshell이 실행됩니다.



shellshock.c의 소스코드입니다. 권한상승 설정 후 system명령으로 shock_me라는 문자를 echo합니다.



이 문제의 이름이 힌트이자 취약점의 이름입니다. 구글링을 해봅니다.

이 취약점은 CVE-2014-6271로 등재되었습니다.


잠깐 설명하자면 bash 환경변수를 통한 코드인젝션이 가능한 취약점입니다.

1. Bash의 환경 변수에 함수정의를 이용해서 원하는 코드를 추가 할 수 있고, 다음 Bash가 사용될 때 추가된 코드가 실행됩니다.

2. CGI의 경우, HTTP Request 헤더가 환경변수에 저장이 되는 특성을 이용하여 원격 코드 인젝션이 가능합니다.


취약한 bash는 환경변수 세팅 후 ; 뒤에 임의의 코드를 집어넣으면 실행됩니다.


ex) env x='() { :; }; echo hi' bash -c "echo zz"

취약한 bash는 

hi

zz

로 출력 됩니다.



하지만 패치된 bash는 뒤의 zz만 실행됩니다.



문제 서버에는 패치가 되어서 zz만 나오지만 두번째 명령에 shellshock를 실행하도록 인자를 주면 둘 다 성공적으로 실행 됩니다.



따라서 exploit은 env x='() { :; }; /bin/cat flag' ./shellshock 입니다.


또한

$export x='() { :; }; /bin/cat flag'

$./shellshock

도 같은 방법입니다.



참고자료 : 

http://operatingsystems.tistory.com/entry/Shellshock-CVE20146271

http://juwon1405.tistory.com/6

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

pwnable.kr input  (0) 2018.06.14
pwnable.kr coin1  (0) 2018.02.19
[pwnable.kr] mistake 1p  (0) 2016.08.19
[pwnable.kr] uaf 8p  (0) 2016.08.15
[pnwable.kr] random 1pt  (0) 2016.07.29

+ Recent posts