在vb.net中使用Request.Url.AbsolutePath时如何防止xss

问题描述

当我在此行扫描项目代码时,在checkmarx中遇到严重性高的安全问题

lnkGeneral.NavigateUrl = Me.Request.Url.AbsolutePath & "?ID=" & eID & "&View=" & HttpUtility.UrlEncode("General")

它突出显示Me.Request.Url.AbsolutePath,确保我不能对Html.UrlEncodeMe.Request.Url.AbsolutePath,所以想知道它的解决方法是什么。

这是Checkmarx中的描述

应用程序的SetupView在CommissioningTerm.ascx.vb的第254行将不可信数据嵌入到带有Navigationurl的生成输出中。这些不受信任的数据无需进行适当的清理或编码即可直接嵌入到输出中,从而使攻击者能够将恶意代码注入到输出中。

通过简单地在用户输入的绝对路径中提供修改后的数据,攻击者将能够更改返回的网页,该数据由SetupView方法在CommissionTerm.ascx.vb的第254行读取。然后,此输入将直接通过代码直接流到输出网页,而无需进行清理。

这可以启用“反射式跨站点脚本(XSS)”攻击。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)