[英]ResolveUrl XSS alternative
在發布的研究顯示 .aspx 路由易受反射 XSS 攻擊后,推薦使用Page.ResolveUrl
或Control.ResolveUrl
的替代方法是什么? 鏈接的文章沒有建議任何緩解措施。
相關研究摘要:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx
ResolveUrl
時,它都會將它們包含在頁面 output 中。ResolveUrl( "~/Images/logo.png" )
這樣的調用會將攻擊者選擇的內容注入您的頁面 output,例如/(S("onerror="alert`1`"))/Images/logo.png`
我在下面發布了一個可能的答案,但我正在尋找更好的想法。
請注意, ResolveClientUrl
不是直接替換,因為它生成相對 Url,例如../Images/logo.png
不像ResolveUrl
生成根 Url,例如/myapp/Images/logo.png
一種方法是使用HttpRuntime.AppDomainAppVirtualPath
而不是特殊的波浪號語法。 所以上面的例子......
代替:
ResolveUrl( "~/Images/logo.png" )
我們會有:
HttpRuntime.AppDomainAppVirtualPath.TrimEnd( '/' ) + "/Images/logo.png"
稍微不那么簡潔,但似乎在不調用古老的“無cookie”路由解析的情況下完成了同樣的事情。
使用ResolveClientUrl
而不是ResolveUrl
。 ResolveClientUrl
不允許 XSS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.