ウェブ
●その他のエラー
この他にも、「1か0のどちらか」で認証を回避してしまうような、分類が難しいエラーもあります。
9.2.3 一般的に使用される CGI 脆弱性検出ツール
1.Twwwscan
このツールは比較的高速で、グラフィカル インターフェイスを使用せずにパラメータを使用して Windows システムと Unix システムを個別にスキャンできます。これはより簡単です
2 Cis
は、主に Windows システム用に設計された、Voideye
グラフィカル インターフェイスの使用、分析、解決に便利な、比較的詳細な説明を備えたツールです。はより高度で、より多くの CGI 問題をチェックできますが、あまり正確ではありません。
4.Webscan
チェックには多くの種類があり、300 以上あるようです。HTML 形式のレポートを提供し、以下の攻撃方法を収集します。これらのツールは、リンクがサーバー上に存在するかどうかをチェックするだけです。抜け穴があれば、当然、多くの誤検知が発生します。しかし、人々は生きています。これらの補助ツールの使いこなしに慣れるまでには、少し時間がかかります。
9.2.4 CGI をより安全にする方法
CGI のセキュリティ問題を理解したので、CGI のセキュリティを強化する方法も知る必要がありますよね?参考までに簡単な概要を示します:
1.最新バージョンの Web サーバーを使用し、最新のパッチをインストールし、サーバーを正しく構成します。
2.ヘルプ ファイルに従って CGI プログラムを正しくインストールし、不要なインストール ファイルと一時ファイルを削除します。
3. C で CGI プログラムを作成する場合は、安全な関数を使用してください。
4.安全かつ効果的な方法を使用してユーザーの身元を確認します
5.ユーザーの出所を確認し、ユーザーが短期間に過剰なアクションを実行するのを防ぎます。
6.推奨フィルター "& ; ` ' " ? ~ <
非常に簡単な例を挙げると、Microsoft が提供する ASP1.0 ルーチンには、他の .asp ファイルのソース コードを表示するために特別に使用される .asp ファイルがあり、そのファイルは ASPSamp/Samples/code.asp です。誰かがサーバー側で何の予防策も講じずにこのプログラムをサーバーにアップロードすると、他人のプログラムを簡単に閲覧できてしまいます。例:
code.asp source=/directory/file.asp
しかし、これは比較的古い脆弱性であり、現在この種の脆弱性はめったに発生しないと思います。
次のコマンドは比較的新しいです:
http://someurl/issasamples/exair/howitworks/code.asp/lunwen/soushuo.asp=xxx.asp
最大の害は、ASP ファイルが次の場所にコピーされる可能性があることです。上記の方法で読み取り; データベースのパスワードが平文でハッカーに公開されます。
問題の解決策または提案:
IIS に付属する show ASP コードの ASP プログラム ファイルについては、ファイルを削除するか、ディレクトリへのアクセスを禁止します。
2. FAT パーティション上のファイルのダウンロードを改ざんする filesystemobject コンポーネントの脆弱性
IIS3 および IIS4 の ASP ファイル操作は、テキスト ファイルのディレクトリ操作の読み取りと書き込み、ファイルのコピー、名前変更、削除を含む、Filesystemobject を通じて実装できます。などですが、この強力な機能には非常に危険な「バックドア」も残されています。 Filesystemobjet を使用すると、FAT パーティション上のファイルのダウンロードを改ざんすることができます。 NTFS パーティションであっても、アクセス許可が適切に設定されていないと、「大惨事」に見舞われる可能性があります。残念ながら、多くの Web マスターは Web サーバーの実行方法しか知らず、NTFS のアクセス許可を設定することはほとんどありません。NT ディレクトリのアクセス許可のデフォルト設定は、セキュリティが非常に低いです。したがって、Web マスターの場合は、サーバー設定に細心の注意を払い、NTFS パーティション上に Web ディレクトリを構築するようにし、たとえ自分がメンバーであっても、そのディレクトリにEveryone フル コントロールを設定しないことをお勧めします。管理者グループの場合、通常はフル コントロールは必要ありません。読み取りと変更のアクセス許可があれば十分です。 Filesystem オブジェクトのコンポーネントを削除したり、名前を変更したりすることもできます。
3. 標準 HTML ステートメントまたは JavaScript ステートメントを入力すると、出力結果が変わります
入力ボックスに標準 HTML ステートメントを入力すると、どのような結果が得られますか?
たとえば、ゲストブックでは、メッセージの内容を次のように入力します:
こんにちは!
ASP プログラムで HTML ステートメントをブロックしない場合、「Hello」フォントのサイズが変更されます。ゲストブックのフォント サイズや写真を変更することは悪いことではありませんが、ゲストブックを生き生きとしたものにすることができます。しかし、次のような JavaScript 無限ループを入力ボックスに記述すると、Big News
メッセージを残したゲストが「ビッグニュース」にマウスを移動している限り、ユーザーのブラウザは無限ループにより停止します。
解決策と提案:
同様のプログラムを作成する場合は、そのような操作に対して予防措置を講じる必要があります。たとえば、クライアントの入力を判断し、すべての HTML と JavaScript をブロックするプログラムを作成できます。
4. Access MDB データベースがダウンロードされる可能性があります。
問題の説明: Access をバックエンド データベースとして使用する場合、誰かがサーバーの Access データベースのパスとデータベース名をさまざまな方法で知っているか推測すると、この Access データベース ファイルをダウンロードできるのは非常に危険です。例: Access データベース book.mdb が仮想ディレクトリの下のデータベース ディレクトリに配置されている場合、誰かがブラウザに次のように入力します。
http:// someurl/database/book.mdb
事前に暗号化しておくと、book.mdb 内の重要なデータがすべて他人の手に渡ってしまいます。