我们的测试员是模糊测试大师。
他发现在我们的网络API中将某些值放入网址段似乎总是会产生404,但我无法弄清楚原因。以下是一些例子:
.,#';][=->
=&gt; 404 <~@:}{+_)
=&gt; 404 +
=&gt; 404 .,#
=&gt; 404 .#,
=&gt;路线正确例如,通常看起来像
的路线 http://api.mythingy.com/one/two/three
如果您将其中一个细分更改为其中一个错误字符串&#39;以上:
http://api.mythingy.com/one/.,#/three
总是给出404。
我在那里看不到类似逃逸序列的东西。我确实看到了一些狡猾的价值观(比如<
,但“&#39; 404&#39;”行为似乎优先于“不良请求”行为。
有谁能说明为什么会这样?
编辑:使用调试器告诉我应用程序本身没有被命中(即Global.asax Application_BeginRequest()中的断点未被命中)。所以这可能发生在IIS中。
答案 0 :(得分:0)
为什么它应该返回一个400错误的请求? 404是请求不存在路线的正确答案。
。#,将起作用,因为#是fragemts的特殊标识符。 (http://en.wikipedia.org/wiki/URI_scheme)