あなたがそれを信じているかどうかにかかわらず、ASPを介して、あなたはウェブサーバーに簡単にハッキングしたり、サーバー上のファイルを盗んだり、Webデータベースやその他のシステムのユーザーパスワードをキャプチャしたり、システムが破損するまでサーバー上のファイルを悪意を持って削除することができるかもしれません。
前の記事では、ADOデータベースにアクセスするときにページを表示する方法に焦点を当て、ページの総数を計算すると、記録オブジェクトの重要なパラメーターを無視しましたページサイズの値は、int(rs.recordcount/pgsz*-1)*-1などの扱いにくい式を使用する必要なく、ページの総数を自動的に取得します。このプログラムの欠点を熱心に指摘してくれたこの友人に感謝します。ページ、そしてその時、私はPageCountがページ数を正しく取得できるかどうかはわかりません試してみてください、私の怠け者から学ばないでください。
最近、ChinaSpのBBSで問題について議論したとき、多くの友人がASPのセキュリティ問題についてあまり知らないことがわかりました。 、だから私はここで非常に必要だと思います、私はすべての友人のためにこの問題に焦点を当てます。 Webマスターにとって重要なASPのセキュリティ問題。
:: $のデータの脆弱性が昨年発見されリリースされた翌日、私はその時点でASPを使用していた中国のほとんどのサイトを検出し、その日には上記の問題がありました、ソースコードが表示されているのと同じ問題がありました。ソースコードを見るのは大したことではないと思うかもしれませんが、ウェブマスターとしてあなたがそう思うなら、あなたは非常に間違っています。たとえば、ASPプログラマーがサイトのログインパスワードをASPに直接書き込む場合、ソースコードが発見されると、他の人がこの方法を使用して簡単に入力できます。ウェブサイトのメンバー(私を公開しないでください!)。 ASPを使用して開発されたBBSプログラムでは、MDBライブラリへのパスが既知である場合、データベースに追加される可能性があります。パスワードを取得した人が意図的に悪意のあるダメージをコミットしている場合、彼はBBSのすべての投稿を削除するために管理者としてログインするだけで、これはあなたが窒息するのに十分です。以下は、これまでに発見されたいくつかの脆弱性を示しています。ブラウザアドレスバーのASPファイル名がダウンロードされます。 IIS3には同じ問題があります。
2。IIS2、IIS3、およびIIS4のよく知られている脆弱性は、IEのビューソースまたはNetscapeを使用してASPファイルに直接アクセスすることにより、ASPコードを簡単に見ることができます。 Win98+PWS4にはこの脆弱性はありません。
このひどい抜け穴の原因は何ですか?根本的な原因は、WindowsNTに固有のファイルシステムがモンスターを作成していることです。ある常識を持つ人なら誰でも、NTが脂肪とはまったく異なるファイルシステムを提供していることを知っています。NTFSは、NTがより高いセキュリティメカニズムを備えている新しいテクノロジーファイルシステムと呼ばれるテクノロジーですが、それは多くの頭痛を引き起こしたためでもあります。 NTFSがファイルに含まれる複数のデータストリームをサポートしていることはわからない場合があります。すべてのコンテンツを含むこのメインデータストリームは、ブラウザーがNTFSシステムに直接アクセスし、簡単にキャプチャできるようにすることができます。ただし、:: $データの直接的な理由は、ファイル名を解析するときにIISが問題を抱えていることです。これはファイル名をあまり標準化しません。
この問題をどのように解決できますか?いくつかの方法があります:
.ASPファイルが保存されているディレクトリを設定します(ASPはまだ実行できます)。
bマイクロソフトが提供するパッチをインストールします。
このパッチは、IIS3、Intelプラットフォーム用です
ftp.microsoft.com/bussys/iis/iis
-public/fix/cht/security/iis3-datafix/iis3fixi.exe
このパッチは、IIS3、Intelプラットフォーム用です
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixa.exe
このパッチは、AlphaプラットフォームのIIS4用です
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixi.exe
このパッチは、AlphaプラットフォームのIIS4用です
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixa.exe
cそれは、これが有効であるかどうかをIE4.01SP1にインストールします。
d著者の個人的な意見を保持してください。中国語版が私に理由を教えてください。
3。ASPの無料ホームページスペースと仮想ホスティングサービスをサポートするサーバーが直面する問題
1.サーバー上のASPコードは、ASP許可を持つ他の人によって違法に取得される可能性があります。
非常に簡単な例を示すために、Microsoftが提供するASP1.0ルーチンには、他の.ASPファイルのソースコードを表示するために特別に使用されます。誰かがこのプログラムをサーバー上に予防策なしにサーバーにアップロードした場合、他の人のプログラムを簡単に表示できます。
例えば:
code.asp?source =/directory/file.asp
2。使用されるAccess MDBデータベースは、一般的には、ASPプログラムで使用されるデータベースを提供する無料のホームページサーバーにDSNを設定することは不可能です。 MDBは遠く離れています。最終データベースは、問題14で言及したDSNのない方法を使用してASPで直接指定されています。この方法は次のとおりです。
<%connstr = dbq =+server.mapath(database/source.mdb)+; defaultdir =; driver = {microsoft access driver(*.mdb)}; driverid = 25; fil = ms access; inflictcommitsync = yes; maxbuffersize = 512; maxscanrows = 8; pageTimeout = 5; swards = 3; usercommitsync = yes;%>
前述のように、この場合、MDBライブラリは他の人によってダウンロードされる可能性が高いため、パスワードなどが漏れます。
したがって、Webマスターとして、Code.aspなどのプログラムを厳密に禁止するために特定の措置を講じる必要があります(それは難しいと思われますが、機能コードは定期的に取得できます)。
3。強力なファイルSystemObjectコンポーネントからの脅威
IIS3およびIIS4 ASPのファイル操作は、テキストファイルの読み取りおよび書き込みディレクトリ操作、ファイルの名前の変更と削除などを含むファイルSystemObjectを介して実装できますが、この強力な関数は非常に危険なバックドアを残します。 FilesystemObjetは、FATパーティション上の任意のファイルを改ざんすることができます。権限が適切に設定されていなくても、慎重に破壊することもできます。残念ながら、多くのWebマスターは、NTFSのWebサーバーを実行し、NTFSのアクセス許可をめったに設定することはめったにないことを知っていますが、NTディレクトリのアクセス許可のデフォルト設定は非常に低くなっています。したがって、著者は、サーバーの設定に細心の注意を払い、NTFSパーティションでWebディレクトリを構築することを強くお勧めします管理者グループには、一般的に完全に制御する必要はありません。
4. ASPアプリケーションが過去に直面する可能性のある攻撃は、インターネット上でCGIによって書かれた多くのメッセージブックまたはBBSが顧客が入力したメッセージを変数に変更し、この変数を表示したメッセージに挿入しました。
HTMLファイルでは、クライアントが入力したテキストがHTMLファイルに表示される場合、HTML標準に準拠する必要があり、CGIプログラムには一般に特定のHTML言語が含まれます。クライアントがコンテンツを入力してHTMLファイルを挿入すると、次のようなヘッドとテールHTMLステートメントに挿入されます。
クライアントが入力した<font>変数</font>しかし、前後のHTMLが画面にマークされている場合、多くのことを行うことができます。
入力する場合:
< /font> <font> html標準に準拠するステートメントの前後の<font>は、画面CGIのHTMLステートメントに使用されます。 HTMLファイルに挿入されるものは次のとおりです。
<font> < /font> HTML標準に準拠したステートメント<font> < /font>この機能により、JavaScriptの悪質なループを書くのは非常に簡単です。入力ボックスに入力するだけです。
<a href = url onMouseOver = while(1){window.close( '/')}>または<a herf = url onmousever = while(ture){window.close( '/')}>デッドループのためにメッセージを表示したクライアントのブラウザは死にました。 ASPによって開発されたプログラムにもこの問題がある可能性があるため、ASPで同様のプログラムを作成する場合は、クライアントの入力を判断したり、すべてのHTMLおよびJavaScriptステートメントをブロックするプログラムを作成するなど、そのような操作に注意する必要があります。
この問題を読んだ後、非常にショックを受けた場合は、既存のWebサイトまたはASPプログラムを徹底的にチェックして、上記の脆弱性があるかどうかを確認する必要があります。記事に記載されている脆弱性をある程度理解している場合は、おめでとうございますが、頻繁にWebサイトとASPプログラムを確認することをお勧めします私たちが知らないいくつかの脆弱性を使用して攻撃する。最後に、この記事で議論されているASPセキュリティの問題に関するユニークな洞察がある場合、または脆弱性について新しい発見がある場合は、それについて議論するために私に書いてみたいと思います