"wget"의 보안 문제

"wget"의 보안 문제

"wget"과 해당 옵션을 사용할 때 발생할 수 있는 취약점이 있는지 궁금합니다. 특히 벤치마크 스크립트를 사용하여 VPS 성능을 테스트했습니다. 명령은 다음과 같습니다.

wget -qO- bench.sh | bash

-q0-의 기능을 알고 있지만 명령 끝에 "bash" 매개변수를 설명하는 리소스를 찾을 수 없습니다.

답변1

다음과 같은 명령

wget -qO- bench.sh | bash

"bench.sh에서 파일을 가져와서 bash실행"을 의미합니다.

이는 실제로 다음과 같습니다.

wget -q -Otestfile bench.sh
bash testfile

그러나 임시 파일은 필요하지 않습니다.

따라서 다운로드하고 실행하기만 하면 됩니다.신뢰할 수 없는암호. 오늘은 파일을 다운로드하고 "불쾌한" 명령을 확인할 수 있지만 내일도 여전히 깨끗할까요? 아니면 그 다음날?

이것이 보안 문제입니까? 잠재력이 있는.

bench.sh를 실행하는 사람을 얼마나 신뢰하는지, 누군가가 서버에 침입하여 무단 변경을 시도할 가능성이 얼마나 되는지 확인해야 합니다. 또한 연결은 통과 연결 http이므로 "중간자" 공격을 받을 가능성이 있어 컴퓨터로 전송되는 데이터가 변경될 수 있습니다.

개인적으로 저는 이런 식으로 스크립트를 실행하지 않을 것입니다. 하지만 그렇게 하는 사람들이 많이 있습니다.

답변2

bash매개변수 가 아닙니다 wget. 여기서 일어나는 일은 무언가를 다운로드하여 실행 wget에 전달하는 것 입니다 bash.

예, 여기에는 보안 문제가 있습니다. 문제는 스크립트 자체를 보지 않고 어딘가에서 가져온 쉘 스크립트를 실행하고 있다는 것입니다. wget어떤 형태 로든 출신인 경우신뢰할 수 있는출처가 그렇다면 아마 괜찮을 것 같습니다. 그렇지 않은 경우 파일로 다운로드하는 것이 좋습니다.첫 번째, 확인한 다음 쉘 스크립트로 실행하십시오(안전하다고 생각하는 경우).

일부 트로이 목마는 쉘 스크립트로 배포되므로 사용자가 스크립트를 다운로드하여 실행해야 합니다. Linux.MulDrop.14(Bitcoin Miner)는 이전 Raspberry Pi를 대상으로 하는 스크립트입니다.

답변3

기본적으로 그것이 하는 -qO-일은

-q,  --quiet                     quiet (no output)

조용히 실행됩니다(로그/진단 출력을 생성하지 않음).

-O,  --output-document=FILE      write documents to FILE

출력(다운로드한 파일)을 기본 -위치 로 보냅니다 stdout.

따라서 다운로드하는 모든 항목은 파이프라인을 통해 실행됩니다 bash.

누군가가 서버를 해킹하여 rm -rf ~스크립트를 (또는 유사한) 스크립트로 바꾸면 모든 파일이 손실됩니다. 이것이 문제인지 평가하는 것은 환경에 따라 다릅니다.

스크립트의 기능을 분석하려면 다음 명령을 사용하여 다운로드할 수 있습니다.

wget -q -O bench.sh bench.sh

그런 다음 bench.sh텍스트 편집기에서 열어서 확인하세요.

관련 정보