Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;无效的JSON原语:alihack";来自ASP.NET MVC站点的错误_Asp.net_Iis_Cracking - Fatal编程技术网

&引用;无效的JSON原语:alihack";来自ASP.NET MVC站点的错误

&引用;无效的JSON原语:alihack";来自ASP.NET MVC站点的错误,asp.net,iis,cracking,Asp.net,Iis,Cracking,我们开始每天收到多个此类错误,出现在事件日志中: 无效的JSON原语:alihack。在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() 在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 深度)在 System.Web.Script.Ser

我们开始每天收到多个此类错误,出现在事件日志中:

无效的JSON原语:alihack。在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() 在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 深度)在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串 输入,Int32 depthLimit,JavaScriptSerializer序列化程序),位于 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer 序列化程序,字符串输入,类型,Int32 depthLimit)位于 System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext 控制器上下文)在 System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext 控制器上下文)在 System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext 控制器上下文)在 System.Web.Mvc.ControllerBase.get_ValueProvider()位于 System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext,ParameterDescriptor ParameterDescriptor)位于 System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext,ActionDescriptor(ActionDescriptor)位于 System.Web.Mvc.Async.AsyncControllerActionInvoker.c\uu DisplayClass21.b\uu 19(异步回调 异步回调,对象异步状态)位于 System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult
1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调 回调、对象状态、Int32超时)在 System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext、字符串actionName、异步回调、对象 国家)在 System.Web.Mvc.Controller.b_u1c(异步回调) asyncCallback、对象asyncState、ExecuteCoregreat innerState)位于 System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid
1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调 回调、对象状态、Int32超时)在 System.Web.Mvc.Controller.BeginExecuteCore(异步回调, 对象状态)在 System.Web.Mvc.Controller.b__14(异步回调) asyncCallback、对象callbackState、控制器)位于 System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid
1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调 回调、对象状态、Int32超时)在 System.Web.Mvc.Controller.BeginExecute(RequestContext, 异步回调,对象状态)在 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext 请求上下文、异步回调、对象状态)位于 System.Web.Mvc.MvcHandler.b4(异步回调) asyncCallback、Object asyncState、ProcessRequestState innerState)位于 System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid
1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调 回调、对象状态、Int32超时)在 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext、异步回调、对象状态)位于 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext HttpContext, 异步回调,对象状态)在 System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.BeginProcessRequest(HttpContext 上下文、异步回调、对象外部数据)位于 Orchard.Mvc.Routes.ShellRoute.HttpAsyncHandler.BeginProcessRequest(HttpContext 上下文、异步回调、对象外部数据)位于 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔值(同步完成(&C))

请求转到。请求的有效负载中应该还有其他内容,因为只要正确打开此URL就会导致404


这有什么好担心的吗?我可以,我应该防止这样的错误发生,而不是返回一个错误的请求,例如?为什么首先要进行这种反序列化?

此问题与的重复,但用于不同的服务器(IIS)

如果您的站点不使用PUT请求,您可以通过使用拒绝所有这些请求


(可与一起安装):



否决票可以很好地解释这一点。我在我们的ELMAH日志中注意到了同样的问题。我现在正试图找到它。太好了,如果你发现了什么,请告诉我。因为你没有使用通配符,所以可以使用
patternSyntax=“ExactMatch”
<configuration>
   <system.webServer>
      <security>
        <requestFiltering>
          <verbs applyToWebDAV="false">
            <add verb="PUT" allowed="false" />
          </verbs>
        </requestFiltering>
      </security>
   </system.webServer>
</configuration>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Abort requests to ali.txt - alihack" patternSyntax="Wildcard" stopProcessing="true">
          <match url="ali.txt" />
          <conditions />
          <action type="AbortRequest" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>