![netcat을 사용하여 클라이언트에서 쉘을 생성하는 방법은 무엇입니까?](https://linux55.com/image/109654/netcat%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%89%98%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
다음을 사용하여 서버 측에서 쉘을 생성할 수 있다는 것을 알고 있습니다.
nc -l 1111 -e /bin/bash
하지만 클라이언트 측에서 쉘을 생성하고 싶습니다.
나는 이것을 시도한다:nc 127.0.0.1 1111 | /bin/bash
작동하지만 명령 실행 결과가 표시되지 않습니다.
그렇다면 문제는 netcat을 사용하여 클라이언트 측에 쉘을 생성하는 방법이 있느냐는 것입니다.
답변1
나에게 맞는 것 같지만 netcat 버전에 따라 다릅니다. 데비안 패키지는 다음과 같습니다: "Netcat-전통적" 그리고"netcat-openbsd". 전자는 -e
클라이언트와 서버 모드를 모두 지원하지만 후자는 전혀 지원하지 않습니다.
$ nc.traditional localhost 1234 -e /bin/bash
$ nc.openbsd localhost 1234 -e /bin/bash
nc.openbsd: invalid option -- 'e'
내 OSX도 이를 지원하지 않습니다.
이 작업을 수행하기 위해 지원되지 않는 netcat을 사용해야 하는 경우 -e
다음과 같이 해야 할 수도 있습니다.두 프로그램 간에 양방향 파이프를 만드는 방법은 무엇입니까?