我们的旧版 ASP.NET 2.0 网站在 Windows 2003 Server 上的 IIS6 中运行,接受大量用户上传和用户可下载的文件。不是页面内容;主要是 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 是票,但是在盯着文档一两个小时后,我比以往任何时候都更加困惑。
有任何想法吗?