문제

Mommy, there was a shocking news about bash.
I bet you already know, but lets just make it sure :)


ssh shellshock@pwnable.kr -p2222 (pw:guest)


분석

shellshock.c 의 내용

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


shellshock이란?

shellshock은 Unix Bash shell의 security bug로 지금은 많이 패치되었다.

그 중 최초로 보고된 버그가 CV-2014-6271이다.

이 문제를 푸는데에도 사용되는 CV-2014-6271의 내용은 다음과 같다.

어떤 환경변수가 함수를 포함하고 있으면 그 뒤에 있는 임의의 명령이 bash가 실행될 때 같이 실행된다.


export x='() { :;}; echo vulnerable'

위와 같은 환경변수 설정으로 이를 확인해볼 수 있다.

<bug를 실제로 실행한 모습>


참고 : wikipedia - Shellshock



FL4G


bash 자체는 우리가 직접 실행할 수 없으므로 내부적으로 bash를 실행해주는 shellshock을 이용해야 한다.


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

[Toddler's Bottle] blackjack writeup  (0) 2018.09.16
[Toddler's Bottle] coin1 writeup  (0) 2018.09.16
[Toddler's Bottle] shellshock writeup  (0) 2018.09.16
[Toddler's Bottle] mistake writeup  (0) 2018.09.16
[Toddler's Bottle] leg writeup  (0) 2018.09.16
[Toddler's Bottle] input writeup  (0) 2018.09.16

+ Recent posts