我试图在我的应用程序记录器上修复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作为我的日志工具
答案 0 :(得分:1)
由于您使用PathString
返回的HttpContext.Request.Path
,因此您获得了转义字符串:
路径字符串以适合组合到URI表示
的方式进行转义
因此,代码中不应存在CRLF漏洞。
如果您要提出/foo%5Cnbar
编码/foo\nbar
之类的请求,那么您将在日志文件中获得/foo%5Cnbar
两行代码。