在已发表的研究表明,.aspx路由易受反射XSS的影响。之后,推荐使用Page.ResolveUrl或Control.ResolveUrl的替代方案是什么?链接的文章并没有提出任何缓解措施。
相关研究摘要:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx格式ResolveUrl时,它都会将它们包含在页面输出中。ResolveUrl( "~/Images/logo.png" )这样的调用将将攻击者选择的内容注入到您的页面输出中。/(S("onerror="alert`1`"))/Images/logo.png`我已经发布了一个可能的答案,但正在寻找更好的想法。
请注意,ResolveClientUrl不是直接替换的,因为它生成相对Url,例如../Images/logo.png与生成根Url (如/myapp/Images/logo.png )的ResolveUrl不同
发布于 2020-02-24 13:43:00
一种方法是使用HttpRuntime.AppDomainAppVirtualPath而不是特殊的倾斜语法。所以上面的例子..。
而不是:
ResolveUrl( "~/Images/logo.png" )我们应该:
HttpRuntime.AppDomainAppVirtualPath.TrimEnd( '/' ) + "/Images/logo.png"稍微不那么简洁,但似乎在不调用古老的“无炊具”路径解析的情况下完成了相同的任务。
发布于 2020-07-08 10:43:23
使用ResolveClientUrl而不是ResolveUrl。ResolveClientUrl将不允许XSS。
https://stackoverflow.com/questions/60377210
复制相似问题