Windows 2003 Server 上の IIS6 で実行されている従来の ASP.NET 2.0 Web サイトは、ユーザーがアップロードしたファイルやダウンロード可能なファイルを多数受け入れます。ページのコンテンツではありません。主に PDF や PNG などのアセット ファイル。ただし、悪意のある盗賊が ASPX ファイルをアップロードして、突然サーバー上でコードを実行できるようにしないことをお勧めします。
つまり、ユーザーがファイルをアップロードする適切なフォルダーに「実行権限: なし」を設定するだけでよいと思われるかもしれません。それで終わりです。ああ。
ユーザーがアップロードしたファイルは、次のパターンのような名前のフォルダーに配置されます: (nnnn、kkkk、llll は、さまざまな長さの数字文字列を表します)
/sites/nnnn/files/ftp
/sites/nnnn/files/orders/kkkk/llll
/sites/nnnn/files/proofs
/sites/nnnn/files/webFiles
しかし...次のようなフォルダーに保存されたCSSファイルもあります。
/sites/nnnn/files/skins/kkkk/*.css
また、CSS ファイルは実際には ASPX コードとして解釈されるため、次のようにカラー パレットの置換をクエリ文字列で渡すことができます。
/sites/2132/skins/83/layout.css?palette=cc33dd,aa22bb,1155ff
したがって、「実行権限: なし」は /sites レベルではノーノーです。そして、/sites/nnnn/files で個別に数千 nnnn を実行したくはありません。
それで、私は URLScan 3.1 が切符だと言われましたが、ドキュメントを 1、2 時間見つめた後、私はこれまで以上に混乱しました。
何か案は?