.NET代码审计XSS篇-Html.Raw
在.NET MVC项目中,默认创建的视图,都是以cshtml为后缀的Razor视图,这种视图通常以.cshtml文件扩展名,Razor视图引擎对自动对输出的内容进行HTML编码,这些字符会被编码成HTML实体,如图1
如果确实某些场景需要在视图中显示原始HTML内容,而不进行HTML编码,可以使用Html.Raw方法。Html.Raw标签用于将字符串内容作为原始HTML内容输出到视图中,而不进行HTML编码。如定义在cshtml代码
@{
string htmlContent = "<script>alert(2)</script>";
}
<h2>Raw HTML Content</h2>
@Html.Raw(htmlContent)
在上述示例中我们定义了一个字符串变量htmlContent,其中包含一个带有<script>标签的HTML段落。