ServiceStack CookieException

本文关键字:CookieException ServiceStack | 更新日期: 2023-09-27 18:03:51

在ServiceStack(3.9.33)下,我们得到以下异常:

errorCode":"CookieException"
"message":"The 'Name'='$Version' part of the cookie is invalid."
"stackTrace":"   at System.Net.Cookie..ctor(String name, String value)'r'n   at
System.Net.Cookie..ctor(String name, String value, String path, String domain)'r'n   at
ServiceStack.WebHost.Endpoints.Extensions.HttpRequestWrapper.get_Cookies()'r'n   at
ServiceStack.ServiceHost.HttpRequestAuthentication.GetCookieValue(IHttpRequest httpReq, 
String cookieName)'r'n   at 
ServiceStack.ServiceInterface.AuthenticateAttribute.AuthenticateIfDigestAuth(IHttpRequest 
req, IHttpResponse res)'r'n   at 
ServiceStack.ServiceInterface.AuthenticateAttribute.Execute(IHttpRequest req, 
IHttpResponse res, Object requestDto)'r'n   at 
ServiceStack.ServiceInterface.RequestFilterAttribute.RequestFilter(IHttpRequest req, 
IHttpResponse res, Object requestDto)'r'n   at 
ServiceStack.WebHost.Endpoints.EndpointHost.ApplyRequestFilters(IHttpRequest httpReq, 
IHttpResponse httpRes, Object requestDto)'r'n   at 
ServiceStack.WebHost.Endpoints.RestHandler.ProcessRequest(IHttpRequest httpReq, 
IHttpResponse httpRes, String operationName)

当我们的供应商(我们不控制的代码)提交以下请求时:

Content-Length: 283401
Authorization: Basic --------------------------
Cookie: $Version=0; ss-id=----; $Path=/, $Version=0; ss-pid=---; $Path=/
Host: -----
User-Agent: Jakarta Commons-HttpClient/3.1

我们可以使用任何可能的解决方法或设置来避免异常?

谢谢。

ServiceStack CookieException

我刚刚得到了一堆相同的错误在我的日志今天(ServiceStack 3.9.67)。

我不会担心试图避免异常或返回正常资源。我不是PHP开发人员,但我相信它们是恶意形成的请求——攻击者期望使用PHP服务器。他们要么试图探测PHP版本和环境工作目录,要么试图将环境变量设置为根目录(我不确定PHP的'cookie <->变量'的方向)。

编辑:我最终写了一个修复:https://github.com/ServiceStack/ServiceStack/pull/857