我使用 AntiXSS 但我仍然可以破解页面

2024-01-03

我不知道我这样做是否正确。
我第一次构建一些东西来防止页面受到攻击。
我将从最底层开始:
我有财产:

public string Description {get;set;}

用户可以通过tinyMCE设置其值

tinyMCE.init({
            mode: "textareas",
            theme: "advanced",
            encoding : "xml"...

在将其保存到数据库之前,在控制器中我会执行以下操作:

model.Description = HttpUtility.HtmlDecode(model.Description);

在数据库中我有一个像这样的值:

<p>bla bla bla</p>

我将 AntiXSS 库添加到我的项目中:

public class AntiXssEncoder : HttpEncoder
    {
        public AntiXssEncoder() { }

        protected override void HtmlEncode(string value, TextWriter output)
        {
            output.Write(Encoder.HtmlEncode(value)); // on breakpoint code always get in here
        }
...

当我显示数据库中的数据时,我使用:

@Html.Raw(Model.Place.Description)

而且效果很好,我只看到文字。没有 Html 标签。断线工作正常。我可以用粗体、斜体等样式设置文本。

但如果我输入:

<script>alert(open to attack);</script>


我收到警报窗口.
我不明白我是否需要做更多的事情来防止这种情况发生?


我将 AntiXSS 库添加到我的项目中

你在哪里使用它?

确保您不仅添加了 AntiXSS,而且还实际使用了它:

@Html.Raw(Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(Model.Place.Description))

但请记住,新版本的 AntiXSS 库限制有点太多,会剥离诸如<strong> and <br>这可能是不需要的。

作为 AntiXSS 库的替代方案,您可以使用HTML 敏捷包 http://html-agility-pack.net/?z=codeplex来做这项工作。里克·斯特拉尔blogged about a sample implementation http://www.west-wind.com/weblog/posts/2012/Jul/19/NET-HTML-Sanitation-for-rich-HTML-Input.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我使用 AntiXSS 但我仍然可以破解页面 的相关文章

  • 将视频上传/保存到数据库或文件系统

    我以前从未尝试过保存视频 所以我对此了解不多 我知道如果视频很小 我可以转换为字节数组并保存到数据库 但是为了提高效率 我想了解如何将任何上传的视频保存到我的服务器文件中 然后只保存该文件的文件路径我的数据库表中的视频 我完全不知道如何开始
  • MVC4 - ContextDependentView - 是什么意思?

    我刚刚开始使用 MVC4 我看到的第一个操作方法有一些新内容 我查了一下互联网 找不到任何关于此的信息 public ActionResult LogOn return ContextDependentView 有谁知道 ContextDe
  • Chrome:ERR_BLOCKED_BY_XSS_AUDITOR 详细信息

    我在尝试发布然后获得一个简单的表单时收到了这个 chrome 标志 问题是开发者控制台没有显示任何相关内容 我自己无法找到问题的根源 是否有任何选项可以更详细地查看此内容 查看触发错误的代码片段以修复它 在开发中绕过此错误的简单方法是将标头
  • 如何直接在 Razor 中从 ASP.NET Identity 获取 UserId() 方法

    我的某些部分的自定义授权存在此问题Views 我不想穿上PartialView 而不是我使用If声明如下 if item CurrentComment Id Guid Parse ViewBag UserId repository IsUs
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • Apress Pro Asp.net MVC Framework 3 - SportsStore 编辑产品无法正常工作?

    大家好 有人购买了 Apress Pro Asp net MVC Framework 3 的 ALPHA 并创建了 SportsStore 吗 我无法终生编辑产品并成功更新数据库吗 没有显示错误 单元测试全部功能 但没有成功的 编辑 即我更
  • 在 var 中渲染多个空格

    我试图在我的 var 中添加多个空格 但它被削减为一个空格或者呈现出来 仿佛 我尝试过使用 20 有人还有其他想法吗 ViewBag Subheading 曝光 我希望它看起来像这样 曝光 ViewBag Subheading Bringi
  • 在 ASP.NET MVC 中设置默认 JSON 序列化器

    我正在开发一个已部分转换为 MVC 的现有应用程序 每当控制器响应 JSON ActionResult 时 枚举都会以数字形式发送 而不是字符串名称 听起来默认的序列化程序应该是 JSON Net 它应该将枚举作为其名称而不是整数表示形式发
  • MVC 3 Razor _ViewStart 中的公共变量

    我正在 MVC 3 附带的新 Razor 引擎上构建一个网站 并且喜欢新语法 但是 我对使用公共属性 常量感到不知所措 我知道使用 WebForms 我们可以在代码后面添加公共属性 public string ImageFolder get
  • IE提示打开或保存服务器的json结果

    兼容模式下的Internet Explorer通过ajax回调方法从服务器获取数据 如果我想保存数据或打开数据 会弹出一个对话框 如何摆脱它 客户说 ajax type POST data UIdlgHolder gt form seria
  • 编译器失败,错误代码-1073741819

    我们遇到以下错误 而且每次都需要重启服务器 The compiler failed with error code 1073741819 此外 ASP Net 工作正常 只有 ASP Net MVC 应用程序无法工作 任何想法 我的错误代码
  • MVC 3 - 将 ViewBag 内容分配给 Javascript 字符串

    我正在尝试将数据从 ViewBag 对象传递到我视图上的 javascript In the controller ViewBag SomeUrl http mydomain com In the View 我遇到的问题是以下示例将 js
  • 在 ASP.Net MVC 中的同一视图中分离两个表单

    我已将创建帐户视图和登录视图合并到同一视图中 所以这是一个具有两种表单的视图 但是当我提交时它们会混合在一起 如果我尝试登录并显示错误 Html ValidationSummary 两种形式都会出现错误 我开始将字段重命名为 loginPa
  • 以编程方式设置 aspnet:MaxHttpCollectionKeys

    在特定网站的一些管理功能中 我正在做一篇特别可怕的帖子 需要一个large要发布的数据量 为了实现这一点 我必须添加 Web config appSetting https stackoverflow com questions 88324
  • 重置 IIS 中的静态变量

    我已在 ASP NET MVC 应用程序的应用程序启动事件中为静态变量分配了值 protected void Application Start public static list
  • Ajax.BeginForm 帮助程序未将部分视图加载到指定的 DIV 中

    我正在使用 MVC 尝试将表单提交的结果加载到特定的 DIV 中 下面是我的表单的代码 div class segmentForm clearfix div
  • 自定义角色提供程序不实现继承的抽象成员

    我需要一些帮助在 ASP NET MVC 应用程序中实现自定义角色提供程序 问题是我遇到了几个错误 例如 MyRoleProvider does not implement inherited abstract member System
  • “RouteCollection”不包含“MapMvcAttributeRoutes”的定义

    我尝试使用基于属性的路由 但是当我尝试以下代码片段来激活基于属性的路由时 我收到以下错误消息 RouteCollection 不包含定义 MapMvcAttributeRoutes 这是我的代码 public class RouteConf
  • 你调用的对象是空的。 IE问题

    我在 ASP Net 中开发了一个网站 它在除 IE 之外的所有浏览器中都能正常工作 在 IE 中我收到错误 对象引用未设置为对象的实例 在我的本地计算机中一切正常 发布到服务器后出现错误 有什么想法如何解决这个问题吗 这是我得到的堆栈跟踪

随机推荐

  • SimpleXML 不断返回 CDATA 元素上的内容

    这是另一个 CDATA 返回内容的问题 我看过很多答案 但即使我尝试了所有答案 我仍然只得到内容 更详细地说 我有一个 xml 文件 里面包含许多 NewsItem
  • 使用 C# 表单应用程序静默安装 SQL Server

    我有一个用 C 开发的 Windows 应用程序 我需要将其安装在仅安装操作系统和 Net Framework 的 PC 上 现在我必须提供一个选项 以便使用此 Windows 应用程序在该 PC 上安装 SQL Server 2008 R
  • 如何在.NET / Sql Server 中在用户当地时间发送电子邮件?

    我正在编写一个程序 需要每小时整点发送一封电子邮件 但时间是用户本地的 假设我有 2 个位于不同时区的用户 约翰在纽约 弗雷德在洛杉矶 服务器在芝加哥 如果我想在本地下午 6 点向每个用户发送电子邮件 我必须在服务器时间下午 7 点向 Jo
  • OKhttp:SSLProtocolException:SSL 握手终止

    我试图找出为什么有时会出现此错误 javax net ssl SSLProtocolException SSL 握手终止 ssl 0x60d46c90 SSL 库失败 通常是协议错误 错误 1409443E SSL 例程 SSL3 READ
  • 如何在Python中计算一周的第一个日期和最后一个日期

    我需要用 python 计算一周的日期 我需要这个 year 2012 week 23 a b func year week print a print b gt gt gt 2012 04 06 gt gt gt 2012 06 10 你
  • Docker-compose 与 nginx 反向、一个网站和一个 Restful api?

    我希望你能帮助我解决我的问题 这是信息 情况 我目前有两个工作容器 需要在同一个端口 80 上运行 有一个网站 目前只需转到服务器的主机 url 即可访问该网站 还有 Restful api 然而 它必须通过端口 80 来工作 并且登录向
  • 复制方法 IMP 以进行多个方法混合

    我设置了一个类 理想情况下将读取传入的任何类的方法 然后在运行时将它们全部映射到单个选择器 然后将它们转发到原始选择器 这现在确实有效 但我一次只能使用一种方法 问题似乎是 一旦我调整第一个方法 我用于捕获和转发该方法的 IMP 现在已与其
  • C# .ToString("X4") 在 Java 中等效

    在将 String 转换为 Unicode 时 我正在寻找一个真正相当于 Java 中的 C ToString X4 C Code char stringChars Notices ToCharArray List
  • 如何在log4j.xml中设置CATALINA_HOME?

    我需要这样的东西 参数名称 文件 值 CATALINA HOME logs log4j log 我看到很多类似的问题 但没有有效的解决方案 适用于 Tomcat 6 0 或更高版本catalina base 而不是catalina home
  • C# 查询 XML 文档

    再会 我正在尝试查询 XML 文档并有以下查询 XElement root XElement Load Data xml var entries root Descendants Where x gt x Name LocalName En
  • WPF 数据网格 [System.Windows.Data 错误:4]

    我有一个 WPF 应用程序DataGrid如下所示 数据网格 简化的
  • 如何从用户获取多行输入[重复]

    这个问题在这里已经有答案了 我想编写一个程序来获取多行输入并逐行使用它 为什么没有类似的功能raw input在 Python 3 中 input does not allow the user to put lines separated
  • Android 市场和 APK 文件名

    我将上传到 Android 市场的最终 apk 文件的名称重要吗 用户可以看到文件的名称吗 不 姓名 apk文件被忽略 用户将无法看到它 你可以命名 apk以您方便的任何方式 Android Market 只解析内部 apk文件并提取所需的
  • R随机森林不一致的预测

    我最近使用 R 中的 ranger 包构建了一个随机森林模型 但是 我注意到训练期间存储在 ranger 对象中的预测 可通过 model predictions 访问 与我在使用创建的模型的相同数据集 以下代码在 mtcars 数据集上重
  • 如何切换到旧版本的 ruby​​/rails 环境?

    我正在尝试与 Tekpub 在 Rails 上构建您自己的博客截屏视频保持一致 我仍然是一个 ruby 新手 问题是我安装了 Rails 3 而 Rob 使用旧版本 我的脑海中 版本 2 3 2 我知道如何获得该版本的 Railsgem i
  • 使用 PHP 格式化 JSON 数据

    我有以下代码
  • iPhone X 中的背景图像拉伸

    目前我们使用 1x 2x 和 3x 的图像资源 它将支持所有设备 但是 当我们在 iPhone X 上使用相同的图像资源时 3x 图像在 iPhone X 中看起来会被拉伸 因此 请让我知道如何支持具有相同图像资源的 iPhone X 设备
  • NSPredicate 用于过滤 NSString 类型的两个日期

    我有一些数据 如NSDictionary in an NSMutableArray 样本数据如下 将每一行视为NSDictionary整个表是一个NSMutableArray包含事件 我想在两个日期之间得出结果 所以我使用NSPredica
  • Firebase 分析事件没有显示价值

    我有一个游戏 我想在每次用户设置新的高分时发送事件 我检查当前分数是否 gt 之前的分数 如果是 我将新的高分发送到 firebase 代码 Bundle bundle new Bundle bundle putLong FirebaseA
  • 我使用 AntiXSS 但我仍然可以破解页面

    我不知道我这样做是否正确 我第一次构建一些东西来防止页面受到攻击 我将从最底层开始 我有财产 public string Description get set 用户可以通过tinyMCE设置其值 tinyMCE init mode tex