人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perl などのCGIプログラムについてお聞きします。

素朴な疑問なのですが、CGIプログラムをサーバー上に置いたとして、

例)http://www.testtest.com/test.cgi

そのCGIプログラムソース(この場合はtest.cgi)をダウンロードする方法はあるのでしょうか?

もし、ダウンロードできるならば、それらを阻止する方法を教えてください。

よろしくお願いします。

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:CGI Perl test サーバー ソース
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● katsube
●20ポイント

ダウンロードというか、他人に閲覧されてしまう危険性があるかというお話ですよね?

○Webサーバの設定がおかしい

CGIが動作する設定がなされていない場合は、ソースがそのまま表示されるケースがあります。これが流石に気がつくと思いますが、たとえば事故が発生した際に一時的に閲覧が可能なるということは考えられます。

※以前、http://mixi.jpで起こりましたよね。


○セキュリティホールをつかれる

処理の甘いCGIなどを経由して、他のファイルを閲覧される危険性はあります。たとえば以下のように何も制限をかけずにファイルを表示するようなプログラムが置かれていた場合、これを経由して閲覧が可能になります。

view.cgi?file=/home/hoge/huga.cgi

実際にはもう少し込み入った事例になるかと思いますが。


○共有サーバの設定がゆるい

FTPなどでログインした際に、他のユーザーのディレクトリが覗ける場合、パーミションの設定によっては閲覧、それこそダウンロードが可能になります。そこまでセキュリティレベルの低い業者はあまりいないとは思いますがご注意を。

◎質問者からの返答

ありがとうございます。

つまり、一番目の例はパーミッションをきちんと755にしておけば、CGIが動作するので問題ない(とりあえずは)ということですね。


3番目の問題は、レンサバ業者の問題になってくるのでしょうか?XREAをつかっているので、問題ないかなー(たぶん)と思います。


ちょっと疑問におもったのが2番目です。

view.cgi?file=/home/hoge/huga.cgi

というのは、view.cgiというファイルを閲覧する為に作られたCGIでしょうか?

だとすれば、閲覧するためのCGIを作っていなければOKと考えて良いのでしょうか?


2 ● まきのっぴ
●20ポイント

そのようなことは通常できません。

(同サーバに設置されている他の CGI スクリプトに、サーバ内の任意のファイルを表することができてしまうような脆弱性があったり、サーバに FTP や SSH 等でログインする ID とパスワードが容易に類推できたり等の脆弱性があればまた話は別ですが)

http://japan.cnet.com/news/sec/story/0,2000056024,20082116,00.ht...

◎質問者からの返答

ありがとうございました!

安心しました!


3 ● KUROX
●20ポイント

>そのCGIプログラムソース(この場合はtest.cgi)をダウン

>ロードする方法はあるのでしょうか?

http://www.testtest.com/test.cgiにアクセスして

test.cgiが実行されるのなら、ダウンロードする方法は

基本的にない。

http://tech.bayashi.net/faq/plfile.html

◎質問者からの返答

ありがとうございました。

ちょっとした疑問でしたので、、、。

助かりました。


4 ● katsube
●20ポイント

他の方が書かれているとおり通常はないんですけどね。通常ではない場合に十分起こりえます。

だとすれば、閲覧するためのCGIを作っていなければOKと考えて良いのでしょうか?

いえ。外部からファイル名またはキーワードを受け取って、そのファイルを開く処理を行うプログラムの場合、閲覧が可能になる場合があります。

※表示する、しないに関わらず。

OSコマンドインジェクションと呼ばれるアタックの手法ですので、色々とググッって見られると良いかと思います。以下は参考までに。

http://www.atmarkit.co.jp/fsecurity/rensai/webhole13/webhole02.h...

対策は、入力チェックを厳密に行うくらいでしょうか。

◎質問者からの返答

こんな方法があったんですね、、、。

サイト、参考に致します。

ありがとうございました。


5 ● b-wind
●20ポイント

つまり、一番目の例はパーミッションをきちんと755にしておけば、CGIが動作するので問題ない(とりあえずは)ということですね。

No.


mod_mime - Apache HTTP Server

通常は .cgi という拡張子は CGI であるとサーバー側で関連付けられているが、これがない場合はテキストファイルとして扱われる。

この場合実行パーミッションは関係ない。

◎質問者からの返答

ありがとうございます。

つまり、サーバー側でCGIは「動かすプログラムですよ」と設定しているから安全なのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ