해당 문제는 함께 제공되는 소스코드 또는 아래와 같다.
별 내용 없이 시스템 함수가 실행된다.
해당 문제를 해결하기위해서 사용한 방법은 2014년 발표된 bash의 취약점인
shellshock를 활용했다 shellshock란 환경변수에 함수를 저장하고 서브 쉘로 변경 시 함수 부분 뒤에 이어 나오는
문자열을 명령어로 인식하고, 필터링 없이 실행되는 취약점이다.
즉 아래와 같이 환경변수를 만든 후 shellshock함수에 존재하는 시스템 함수로 bash를 실행시켜 서브 쉘로
변경될 때 해당 함수 뒤에 나오는 명령어를 실행시켜 플래그를 획득할 수 있다.
해당 문제는 export가 아닌 env함수로도 해결할 수 있다.
위의 함수 제작에서 :은 1 즉 무조건 참임을 의미한다. 결론은 flag라는 환경변수에 함수를 지정하고
;후 그 뒤에 나오는 명령어를 커맨더로 입력받는다. 결론은./shellshock를 이용해 쓸 때 bash서브 쉘이
실행되고 /bin/cat./flag를 통해 플래그 획득이 가능하다.
'WriteUP' 카테고리의 다른 글
[HackCTF] - RTC (1) | 2021.11.25 |
---|---|
[HackCTF] pwning (0) | 2021.09.26 |
[pwnkr] - mistake (0) | 2021.09.01 |
[pwnkr] - input문제 (0) | 2021.09.01 |
[pwnkr] - random (0) | 2021.09.01 |