コマンドをコピーコピーするようにだまされましたが、それは私を傷つけましたか?


129

オンラインフォーラムで、誰か(私と一緒にトロールするだけです)が端末にこれを入力するように言った:

(echo 726d202d7266202a | xxd -r -p)

私はそれが何かを傷つけるかどうかわからないので、これを入れないでください。

ターミナルでこれを返しました:

rm -rf *ryanmcclure@RyansLinuxBox:~$

これで何かが削除されましたか?私は聞いたので、rm -rf *すべてを削除するそのひどいコマンドだと思います。

編集:これを読んでいる人なら誰でも知っているので、ターミナルでASCIIアートアニメーションを見るためにこれを入力するように言われました。これは私をだますために使用されたトリックであることに注意してください。


40
可能性が非常に高い攻撃者の意図したコマンドをされたでしょう削除されているすべてのもの- 手段「は、その出力をキャプチャし、このコマンドを実行し、コマンドとしてそれを実行します」。安全アクションでそれを見るために、あなたは試すことができます-それはの出力に実行され、それが実行されると言うことであるが- 。$(echo ... etc)$(...)$(echo ls)echo lslsls

3
シェルに文字列をデコードする以上のことをさせる方法が分からないという理由で、あなたに大きな失敗を与えた人は誰でも。
-ewanm89

53
OSがほぼ... / sunglassess ... hexecutedのようです。YEAHHhhhh ...
JoeFish

11
さあ、失ったかもしれないと思った瞬間にすべてをバックアップしてください:)
MattJ

16
それで、安全でないソースからコマンドをコピーして貼り付けましたが、タイプミスしましたか?幸いなことに、2つの間違いが正しいこともあります。=)
rakslice

回答:


157

いいえ、それは何もしませんでした-それはただの呼び出しです。

括弧は、bash(シェル)にサブシェル内のコンテンツを実行するよう指示します(これは無意味です)。実行されたコマンドecho 726d202d7266202a | xxd -r -pは、画面に「rm -rf *」というテキストを出力する以外は何もしません。テキストを画面に出力するだけでなく、コマンドとしてそのテキストを実行した場合、問題が発生します。とにかく、これはあなたが理解していないコマンドをインターネットから実行しないための無料のレッスンにしましょう。


6
rm -rf * せずにルートとにかく何でもしますか?
-badp

32
@badpそうです。現在のディレクトリ内のすべてを削除します。つまり、/ home / $ USERNAME(通常)
jrg

2
@badpであったとしても/、再帰は最終的にに移動し/home、次に/home/$USERNAMEに移動し、それからすべてとにかく移動します。ただし、その前に「Permission Denied」タイプのエラーがたくさんあるはずです。
イズカタ

16
実際にrm -rf /は特殊なケースであるため、特定のコマンドは最新のLinuxシステムでは有害ではありません。それはだrm -rf *、それはおそらく、オペレーティング・システムよりもはるかに価値があるすべての個人データが削除されますので、それは重大な危害が発生します。
ジェレミービチャ

7
rm -rf /rootとして実行すると何が起こるかは、実際非常に興味深いものです。誰かがVMでそれを試し、それについてスーパーユーザーブログに書いた:blog.superuser.com/2011/07/25/the-path-of-destruction-rm-rf
nhinkle

90

「魚を与えるよりも魚に魚を教える方が良い」という精神で、端末に入力することをお勧めしますman xxd(そして、はい、端末に何かを入力するように言っている別の人です...ただし、manコマンドは安全であると認識する必要があります)。

あなたがよく知らないならechoあなたもそれをチェックするべきです。基本的に、リストしたコマンドは、文字列を標準出力に「エコー」します。

|ただし、パイプはその標準出力をxxdコマンドの標準入力に送ります。この場合、16進数の文字列を通常の形式の入力に変換するように設定されます。

短い答えは、いいえ、何も削除しませんでした。しかし、それrm -rf *はあなたの画面に反響しました、それはあなたに少し寒さを与えたに違いありません:-)


2
2つのすばらしい答えを得るのが嫌いですが、マイケルがあなたを1分ずつ倒したという理由だけで、マイケルにそれを渡さなければなりません。:(しかし、この答えはまだ良いです!おそらくエコーに慣れる必要があります... :)
ライアンマック

7
インターネット上で見つけたコマンドをやみくもにマシンに入力する前に、少なくともそれが何をしているのかを常に感じておく必要があります。コマンドが長すぎて一目で把握できない場合は、|-symbols で分解します。実際、コマンドがわからない場合は、必ずマニュアルページを確認してください。このような人々からあなたを守り、毎回少しずつ学びます。
ジッピー

3
manコマンドは、端末とインターネットブラウザの両方で同じ結果を与える唯一のコマンドである場合があります。
真実性

7
ただし、注意:man $(rm -rf *)致命的です。
unperson325680

1
正直なところ、xxdのマニュアルページを読むことは、シェルの使用についてまだ十分な知識がない人にとって非常に役立つとは思いません。OPが、さらに多くの作業をせずに、そのコマンドを実際に読んで害を及ぼすかどうかをOPが判断できたのかどうか、私は本当に疑っています。コマンドを入力する前に、コマンドが何をしているのかを知り、理解できないかどうか尋ねるのは良い考えだと思います。実際、ubuntuの「公式」フォーラムについての私のお気に入りの1つは、手がかりのない人々が魔法の呪文を端末に入力するためのランダムなアドバイスが多すぎるということです。
マーティフライド

34

攻撃者は、おそらくあなた$(echo 726d202d7266202a | xxd -r -p)をあなたのシェルに貼り付けるつもりでした。 xxd 726d202d7266202aをrm -rf *にデコードし、次に実行されます。


17
私は彼(犠牲者)が$コマンドの代わりにプロンプ​​トの一部だと思ったので除外したと推測しています:)
ダニエルセロディオ

1
または、結局のところ、彼はそれほど悪い人ではなかったかもしれません...:D
user3490458

1

もし誰かがあなたのファイルシステムをチクチクさせることを心配しているなら、あなたはchroot自由です。chroot /random/directoryその後、コマンドを実行します。


18
この場合、chrootが何をするか、または何を意味するのかを説明すると役立ちます。そうでなければ、これは別のコマンドを入力している...インターネット上で見つけ...
マイケル・デュラント

Dockerコンテナのようなもので実行することも良い考えですが、それはやり過ぎです(ただし、
念のため

chrootで戻す(または単にchrootされたシェルを終了する)ことは常に可能です。それは攻撃ペイロードに含まれる可能性があります。
ゼネクサー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.