기존 명령을 sudo [duplicate]로 실행하도록 표시하여 셸을 생성합니다.

기존 명령을 sudo [duplicate]로 실행하도록 표시하여 셸을 생성합니다.

다음을 수행하고 루트로 두 번째 명령을 생성하는 방법이 있습니까?

 sudo whatever && /bin/sh

다음을 시도했지만 여전히 원래 사용자로 남아 있습니다.

sudo who && /bin/sh

sudo가 한 번 호출되면 두 번째 명령을 실행하여 쉘을 생성할 수 있는지 궁금합니다. 이는 sudo x && sudo y백엔드에 있는 애플리케이션의 취약한 코딩으로 인해 프로그램이 sudo. 루트 쉘을 즉시 생성할 수 있는지 확인하는 명령입니다.

답변1

그것은 다음과 같습니다:

sudo bash -c 'date && sleep 2 && echo $USER && date'

$USERsudo bash에서 평가되도록 하려면 작은따옴표로 묶어야 합니다 . 큰따옴표로 묶인 경우 일반 사용자의 bash에 의해 평가됩니다.앞으로sudo가 실행되었습니다.

관련 정보