素朴な疑問なのですが、CGIプログラムをサーバー上に置いたとして、
例)http://www.testtest.com/test.cgi
そのCGIプログラムソース(この場合はtest.cgi)をダウンロードする方法はあるのでしょうか?
もし、ダウンロードできるならば、それらを阻止する方法を教えてください。
よろしくお願いします。
ダウンロードというか、他人に閲覧されてしまう危険性があるかというお話ですよね?
○Webサーバの設定がおかしい
CGIが動作する設定がなされていない場合は、ソースがそのまま表示されるケースがあります。これが流石に気がつくと思いますが、たとえば事故が発生した際に一時的に閲覧が可能なるということは考えられます。
※以前、http://mixi.jpで起こりましたよね。
○セキュリティホールをつかれる
処理の甘いCGIなどを経由して、他のファイルを閲覧される危険性はあります。たとえば以下のように何も制限をかけずにファイルを表示するようなプログラムが置かれていた場合、これを経由して閲覧が可能になります。
view.cgi?file=/home/hoge/huga.cgi
実際にはもう少し込み入った事例になるかと思いますが。
○共有サーバの設定がゆるい
FTPなどでログインした際に、他のユーザーのディレクトリが覗ける場合、パーミションの設定によっては閲覧、それこそダウンロードが可能になります。そこまでセキュリティレベルの低い業者はあまりいないとは思いますがご注意を。
そのようなことは通常できません。
(同サーバに設置されている他の CGI スクリプトに、サーバ内の任意のファイルを表することができてしまうような脆弱性があったり、サーバに FTP や SSH 等でログインする ID とパスワードが容易に類推できたり等の脆弱性があればまた話は別ですが)
http://japan.cnet.com/news/sec/story/0,2000056024,20082116,00.ht...
ありがとうございました!
安心しました!
>そのCGIプログラムソース(この場合はtest.cgi)をダウン
>ロードする方法はあるのでしょうか?
http://www.testtest.com/test.cgiにアクセスして
test.cgiが実行されるのなら、ダウンロードする方法は
基本的にない。
ありがとうございました。
ちょっとした疑問でしたので、、、。
助かりました。
他の方が書かれているとおり通常はないんですけどね。通常ではない場合に十分起こりえます。
だとすれば、閲覧するためのCGIを作っていなければOKと考えて良いのでしょうか?
いえ。外部からファイル名またはキーワードを受け取って、そのファイルを開く処理を行うプログラムの場合、閲覧が可能になる場合があります。
※表示する、しないに関わらず。
OSコマンドインジェクションと呼ばれるアタックの手法ですので、色々とググッって見られると良いかと思います。以下は参考までに。
http://www.atmarkit.co.jp/fsecurity/rensai/webhole13/webhole02.h...
対策は、入力チェックを厳密に行うくらいでしょうか。
こんな方法があったんですね、、、。
サイト、参考に致します。
ありがとうございました。
つまり、一番目の例はパーミッションをきちんと755にしておけば、CGIが動作するので問題ない(とりあえずは)ということですね。
No.
通常は .cgi という拡張子は CGI であるとサーバー側で関連付けられているが、これがない場合はテキストファイルとして扱われる。
この場合実行パーミッションは関係ない。
ありがとうございます。
つまり、サーバー側でCGIは「動かすプログラムですよ」と設定しているから安全なのですね。
ありがとうございます。
つまり、一番目の例はパーミッションをきちんと755にしておけば、CGIが動作するので問題ない(とりあえずは)ということですね。
3番目の問題は、レンサバ業者の問題になってくるのでしょうか?XREAをつかっているので、問題ないかなー(たぶん)と思います。
ちょっと疑問におもったのが2番目です。
view.cgi?file=/home/hoge/huga.cgi
というのは、view.cgiというファイルを閲覧する為に作られたCGIでしょうか?
だとすれば、閲覧するためのCGIを作っていなければOKと考えて良いのでしょうか?