アカウント名:
パスワード:
フルパスとか相対パスとかでアーカイブしてあるファイルを(間違って)rootで展開しても大丈夫? #コマンドラインオプションで安全な展開はできると思いますが
やりたいこと ・/tmp/topdir/subdir/というディレクトリをアーカイブ ・/tmp/topdir/work/というディレクトリから上位への相対パスでアーカイブ作成 ・/tmp/topdir/tmp/tmpsubdir/というディレクトリでアーカイブを展開 ・/tmp/topdir/tmp/subdir/というディレクトリができていたらOUT!?
やってみたこと $ /usr/bin/mkdir -p /tmp/topdir/subdir $ /usr/bin/touch /tmp/topdir/subdir/testfile $ /usr/bin/mkdir -p /tmp/topdir/work $ /usr/bin/mkdir -p /tmp/topdir/tmp/tmpsubdir $ /usr/bin/cd /tmp/topdir/work/ $ /usr/
もちろん、ご指摘のようにgzipを即効で取ってきて、gccを入れて、tcsh入れて・・・云々します。(せめて、gzipぐらいは入っていて欲しかった) あと、tar zxfについてはgzip -cd hoge | tar xvf - で我慢してます(指が覚えてしまいました)
というところで、(主に民間企業でですが)通らないところはかなりあると思います。 #これがSolaris9だと少しマシになるのですが。。。
あと、パスの先のほうに何を設定するかは、ポリシー依存があると思いますので。。。そっとしておきたいと思います(笑)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
tarアーカイブ (スコア:0)
フルパスとか相対パスとかでアーカイブしてあるファイルを(間違って)rootで展開しても大丈夫?
#コマンドラインオプションで安全な展開はできると思いますが
Re:tarアーカイブ (スコア:1)
フルパスはヤバイけど、相対パスは(上位に遡るパスでない限り)今回言うような意味でのヤバさは無い、のではないかと。
ま、下方向の相対であっても、その位置に「上書きされることをユーザが意図してない」ファイルが有ったら、同じことなんだけどね(^^;
また、一般ユーザであっても、「
Re:tarアーカイブ (スコア:2, 興味深い)
今回問題になっているのはまさに「上位に遡る相対パス指定で格納されたファイル」を展開させることで、悪意ある攻撃が可能になる、ということなのですが…
で、本題。 GNU tar であれば、
作成時・展開時のどちらの場合でも、
・ファイル名が / で始まる場合
・ファイル名に ..
Re:tarアーカイブ (スコア:1)
>#GNU tar じゃない tar が入っているシステムだったらヤバイとは思いますが…
「フリーソフトを入れちゃいけない」計算機だと、ヤバイですぅ…
#「標準tarにセキュリティ穴がある!」とかいって上司を煽るという手もありますが(^^;
Re:tarアーカイブ (スコア:1, 参考になる)
やりたいこと
・/tmp/topdir/subdir/というディレクトリをアーカイブ
・/tmp/topdir/work/というディレクトリから上位への相対パスでアーカイブ作成
・/tmp/topdir/tmp/tmpsubdir/というディレクトリでアーカイブを展開
・/tmp/topdir/tmp/subdir/というディレクトリができていたらOUT!?
やってみたこと
$ /usr/bin/mkdir -p /tmp/topdir/subdir
$ /usr/bin/touch /tmp/topdir/subdir/testfile
$ /usr/bin/mkdir -p /tmp/topdir/work
$ /usr/bin/mkdir -p /tmp/topdir/tmp/tmpsubdir
$ /usr/bin/cd /tmp/topdir/work/
$ /usr/
Re:tarアーカイブ (スコア:1)
とりあえず、普通は /usr/local/bin が先だろ、と主張してみます。
それにしても、今時だと、
・gzip が無くては仕事にならない
・tar zxf とかで gz が扱えない tar は使い物にならない
って主張を通したいところなんですけど
通らない所もありそうですね…
Re:tarアーカイブ (スコア:0)
/usr/local/bin以下は、後から手動でインストールしたソフトが入っています。
なので、デフォルトインストール環境では/usr/localすらありませんので、GNU tarは入っていません(汗)
もちろん、ご指摘のようにgzipを即効で取ってきて、gccを入れて、tcsh入れて・・・云々します。(せめて、gzipぐらいは入っていて欲しかった)
あと、tar zxfについてはgzip -cd hoge | tar xvf - で我慢してます(指が覚えてしまいました)
というところで、(主に民間企業でですが)通らないところはかなりあると思います。
#これがSolaris9だと少しマシになるのですが。。。
あと、パスの先のほうに何を設定するかは、ポリシー依存があると思いますので。。。そっとしておきたいと思います(笑)