코드가 매우 간단하다. 그 만큼 풀이도 간단하다.
Shellshock는 CVE-2014-6271 에 붙은 이름이다.
이 취약점은 환경변수를 사용한다.
env x='() { :; }; echo WWW' ./shellshock
이런식으로 입력하면 원래 실행되서는 안될 ./shellshock가 실행되는 것이다.
저 코드는 ./shellshock를 실행해서 echo WWW를 실행하는 코드이다.
환경변수에 echo WWW가 들어있어서 프로그램을 실행할때 같이 실행이된다.
이 부분에 flag를 여는 함수를 넣는다고 생각하면, setresuid, setresgid를 사용한 상태에서 flag를 열 수 있는 것이다.
env x='() { :; }; /bin/cat /home/shellshock/flag' ./shellshock 를 실행하면 된다.
물론 저기다가 /bin/bash를 넣어서 cat을 실행해도 된다.
Ps. env할때 () { :; } 공백이 중요하니 주의.
'pwnable > Toddler's Bottle' 카테고리의 다른 글
[Toddler's Bottle] blackjack (0) | 2018.05.29 |
---|---|
[Toddle's Bottle] coin1 (0) | 2018.05.29 |
[Toddler's Bottle] mistake (0) | 2018.05.28 |
[Toddler's Bottle] leg (0) | 2018.05.28 |
[Toddler's Bottle] input (0) | 2018.05.28 |