ASP 经典页面冻结,查询字符串包含值 "etc.com?v0=%25n"

ASP classic page freeze with querystring containing value "etc.com?v0=%25n"

我在 IIS(Internet 信息服务)上托管了一个页面。 ASP 经典。 在 Window Server 2008 上托管。

<%
dim x
x = Trim(UCase(Request.QueryString("v0")))
if x= "" then
x="no value"
end if
response.write "<h1>Hello World "& x &"</h1>"
%>

在 Internet Explorer 中尝试了以下地址

输入地址:


    "test/sample.asp?v0=%25ABC"

结果:


    "Hello World %ABC"

输入:


    "test/sample.asp"

结果:


    "Hello World No Value"

输入地址:


    "test/sample.asp?v0=%25123"

结果:


    "Hello World %123"

输入地址:


    "test/sample.asp?v0=%25n" 或 "test/sample.asp?v0=%25N"

结果:

Web 浏览器停止工作。

IIS 中是否有任何设置导致此症状?还是其他原因?

附加组件 - 2015 年 2 月 11 日

实际的编码并不是真正的机密。但它太长了,不能张贴在这里。但实际情况如下:

用户可以使用 input box type text 搜索项目,然后 onblur 将输入转发到调用 showmodaldialog.

的函数

使用以下示例:

javascript

window.showModalDialog("search_item.asp?v0="+input)

输入在转发前经过 URL 编码。 用户发现“%”符号实际上是一个通配符。 *真的不知道他们是怎么发现的。

所以他们从那以后就一直在使用它。但是,由于我们将网站迁移到 新服务器。问题开始出现。

因此我试图缩小冻结的原因,发现是值发送导致了问题。

我对 IIS 不熟悉。在设置 IIS 时,我可能犯了一个错误。

美好的一天,我终于找到了导致冻结的原因。这是由于杀毒软件! 防病毒软件将 querystring 识别为入侵,从而阻止 IP。 封锁期默认为 60 分钟。无法附上图片,详情如下

防病毒软件:用于 WKS 和 FS 的卡巴斯基反病毒套件。

安全类型:网络攻击拦截器。

网络攻击类型:Intrusion.Win.EasyAddressWebServer.format-string.exploit

目前正在寻找允许特定网络入侵的替代方案。