권한 있는 사용자로 명령을 실행하기 위해 Shellshock 오류를 이용하는 것이 가능합니까?

권한 있는 사용자로 명령을 실행하기 위해 Shellshock 오류를 이용하는 것이 가능합니까?

Shellshock 버그가 있는 시스템/서버에서 다음 명령을 실행할 수 있는지 궁금합니다.

curl -H "User-Agent: () { :; }; sudo /bin/eject" http://example.com/

(이 코드는 여기에 있는 예제의 자세한 버전입니다.http://blog.cloudflare.com/inside-shellshock/)

내가 이해한 바에 따르면, 버그로 인해 사람들이 시스템에 코드를 삽입할 수는 있지만 반드시 높은 권한으로 코드를 실행할 필요는 없습니다. 이것이 가능하지 않은 경우 해커에게 루트 액세스 권한을 부여하기 위해 코드를 삽입하는 다른 방법이 있습니까?

예시는 필요하지 않습니다. 이 오류로 인해 발생할 수 있는 피해 정도가 궁금할 뿐입니다.

**해를 끼치려는 의도는 없으며 단지 호기심으로 묻는 것입니다.

답변1

 curl -H "User-Agent: () { :; }; sudo /bin/eject" http://example.com/

찾을 수 없기 때문에 작동하지 않습니다 sudo.

 curl -H "User-Agent: () { :; }; /usr/bin/sudo /bin/eject" http://example.com/

호출을 시도 하지만 관리자가 웹 서버를 실행하는 사용자가 명령을 실행할 수 있도록 sudo구성하지 않는 한 많은 작업을 수행하지 않습니다 (이는 가장 합리적인 작업이 아닙니다).sudoroot

원격 서버가 웹 서버 사용자에게 특정 명령을 실행하도록 허용하더라도 root먼저 그것이 무엇인지 추측해야 하며, 스크립트라고 하더라도 HTTP_USER_AGENT bash환경 변수가 전달되지 않습니다. 콘텐츠가 항상 Variables are blacklisted 로 시작되기 때문에 비활성화 sudo되도록 구성되었습니다 .env_resetsudo()

일부 시나리오는 상상할 수 있지만 존재하지 않습니다.흔한로컬 권한 상승을 위한 Shellshock의 방법. 바라보다security.stackexchange에 대한 답변입니다.자세한 내용은.

관련 정보