我正在试图修复我的应用程序记录器im上的CRLF漏洞,目前正在记录我的http请求路径,有什么方法来验证这个漏洞吗?删除当前使用c#作为编程语言的请求路径im上的任何CR注入
这是我记录错误时的核心代码。
_logger.LogInformation(e, "InactiveTenantException caught during api request {RequestPath} {Tenant} {User}", context.Request.Path, currentUser?.Tenant, currentUser?.LoginEmail);请注意。目前使用Microsoft.Extensions.Logging作为我的日志记录工具
发布于 2018-04-02 10:35:26
由于您使用的是由PathString返回的HttpContext.Request.Path,所以您将得到一个转义字符串:
路径字符串以正确的方式转义到URI表示中。
因此,代码中不应该存在CRLF漏洞。
如果您要发出像/foo%5Cnbar wich编码的/foo\nbar那样的请求,那么您将在日志文件中得到/foo%5Cnbar而不是两行。
https://stackoverflow.com/questions/49607477
复制相似问题