bash에 대한 shocking한 뉴스가 있단다.
얼마나 shocking한지 한번 보도록 하자.
우선 소스코드가 매우 짧다.
/home/shellshock/ 경로에 있는 bash shell로 echo명령어를 수행한다.
뭘 어쩌라는건지....
검색을 거듭한 결과 bash shell에 shellshock라는 취약점이 있다는 것을 알았다.
env x='() { :;}; [hidden line]' bash -c "[main line]"
shellshock 취약점 구문이다.
env x='' 환경변수를 설정해주는 구문으로 뒤에 나오는 hidden line은 실행되지 않는 게 정상이다.
하지만 취약점 패치 전에는 이 hidden line이 실행이 된다고 한다.
input값 검증이 제대로 안돼서 일어난 취약점이다.
우선 /bin/bash로 test해보자
안된다. 패치된 bash인갑다
그럼 이번엔 /home/shellshock/경로의 bash로 해보자
된다. 패치가 안됐나보다.
근데 이 bash는 권한이 root라서 shellshock_pwn권한을 가지려면 shellshock 프로그램을 사용해야 할 것 같다.
main에서 프로그램을 실행하고 hidden에서 flag를 확인하도록 하자
env x='() { :;}; /bin/cat flag' ./shellshock -c "echo main"
shocking한 뉴스라더니 꽤나 shocking했다.