防止CRLF漏洞按请求标头



我正在尝试修复我的应用程序记录器上的CRLF漏洞,目前记录了我的HTTP请求路径,是否有办法验证此方法?要删除我的请求路径上的任何CR LF注入,目前使用C#作为我的编程语言

记录错误时,这是我的核心代码

 _logger.LogInformation(e, "InactiveTenantException caught during api request {RequestPath} {Tenant} {User}", context.Request.Path, currentUser?.Tenant, currentUser?.LoginEmail);

注意。当前使用Microsoft.extensions.logging作为我的记录工具

,由于您使用的是HttpContext.Request.Path返回的PathString,因此您正在获得一个逃脱的字符串:

路径字符串以一种合并到URI表示形式的方式

是正确的。

因此,您的代码中不应该存在CRLF漏洞。

如果您将提出一个请求,例如/foo%5Cnbar WICH是编码/foonbar,则您将在日志文件中获得两行的/foo%5Cnbar

相关内容

  • 没有找到相关文章

最新更新