问题标签 [html-injections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
196 浏览

xss - 跨站点脚本阵列多个结果

你好 StackOverflow 的可爱的人们,

我建立了一个应用程序来存储电影,所以我可以在以后搜索它们。一切正常,但我试图防止 XSS,我查看了 W3School htmlspecialchars,但我遇到的问题是我正在返回多个字段结果,例如 s“关键字”“类别”“保存日期”“网站”。

我可以只在一个字段上阻止 XSS,但其余字段不返回任何数据。

这是从数据库中回显数据的代码:

希望我已经正确解释了我的问题。

谢谢

0 投票
1 回答
2246 浏览

codeigniter - 防止 Codeigniter 输入类中的 HTML 注入

众所周知$this->input->post('$myvariable',TRUE),XSS 是经过过滤的。但是有什么办法可以防止 HTML 注入。我读了几篇文章,但没有一篇给出从哪里开始的明确想法。有帮助吗?

0 投票
1 回答
226 浏览

javascript - 从外部源加载 html

我想在多个页面中包含一个 HTML 片段(每个页面都有不同的开发工作流程和框架)。为了避免在剪辑更改时必须更新每个页面,每个页面都加载一个当前看起来像这样的 Javascript 文件

我正在寻找一个更好的解决方案来使用 Javascript 从另一个来源注入 HTML 内容。

0 投票
2 回答
783 浏览

javascript - HTML 注入:无法将 javascript 插入 textarea

我正在测试我用 PHP 制作的用于 HTML 注入的页面,但它没有按我预期的方式工作。

我正在尝试插入

在文本区域内。在服务器端,我现在只想显示带有 var_dump 的 $_GET ,但它甚至没有做到这一点:当我单击按钮时,它只会将我带回主页并#3377832596384266514添加到 URL 中。我在 PHP 中没有收到任何错误,所以可能是服务器问题(Apache 2.4)。

我猜堆栈的某些部分是防御性的,例如当您添加javascript:到 URL 并且浏览器摆脱它时,但我不知道在哪里看。我也试过

和其他变体,但随后<和其他一些字符被剥离。

编辑:文本区域而不是输入。

编辑:添加了所有代码。

0 投票
0 回答
33 浏览

jsf - 如何通过 Servlet 在 JSF 页面中输入 HTML 代码

我想使用 Java Servelet 制作菜单,我试试这个:

dash_menu.java

仪表板.xhtml

当我尝试调用时:“dash_menu”:

http://localhost:8084/PW5K_App/faces/dash_menu

but output change html tags "< >" by "&lt; &gt;"

显示输出

HTML 检查代码

现在有什么办法解决这个问题吗?

0 投票
0 回答
605 浏览

ruby-on-rails - 如何在 Liquid 中默认转义 HTML?

我知道使用escape过滤器可以在液体中转义 HTML

但是默认情况下是否可以在所有变量中使液体转义 HTML?

我知道 Rails 默认会转义所有 HTML,但我必须使用html_safe,否则液体模板中的所有 HTML 都会被转义。

我只在 GitHub 上发现了这个问题,它告诉 OP 只在 Stack Overflow 上提问。

0 投票
2 回答
4775 浏览

html - 为什么这 5 (6?) 个字符被认为是“不安全”的 HTML 字符?

在 PHP 中,有一个名为htmlspecialchars()的函数,它对字符串执行以下替换:

  • &(和号)转换为&amp;
  • "(双引号)转换为&quot;
  • '(单引号)转换为&#039;(仅当设置了标志 ENT_QUOTES 时)
  • <(小于)转换为&lt;
  • >(大于)转换为&gt;

显然,这是因为这 5 个特定字符是不安全的 HTML 字符

我可以理解为什么最后两个被认为是不安全的:如果它们只是“回显”,则可以传递任意/危险的 HTML,包括潜在的 javascript<script>等等。

问题 1. 为什么前三个字符(和号、双引号、单引号)也被认为是“不安全的”?


另外,我在 GitHub 上偶然发现了这个名为“he”的库(由 Mathias Bynens 编写),它是关于编码/解码 HTML 实体的。在那里,我发现了以下内容:

[...] 在 HTML 内容中使用不安全的字符(&、<、>、"、' 和 `)将被编码。[...]

来源

问题 2. 是否有充分的理由将反引号视为另一个不安全的 HTML 字符?如果是,这是否意味着上述 PHP 的功能已经过时了?


最后,所有这些都引出了一个问题:

问题 3. 除了上面提到的 5/6 字符之外,还有其他应该被视为“不安全”的字符吗?

0 投票
1 回答
3956 浏览

html - Asp.net 防止 HTML 注入?

在 asp.net 中如何防止 html 注入:

crome 不允许但 Firefox 允许运行该脚本。有什么方法可以防止 HTML 注入。

谢谢。

0 投票
1 回答
760 浏览

javascript - 在通过 HTML 注入包含的 Angular 2/4 应用程序中运行 javascript 脚本

我在 Angular 4 中遇到了脚本问题。让我解释一下:我正在构建一个 Angular 应用程序,该应用程序将包含在更大的 Web 应用程序中。所以我的应用程序只是这个更大的 Web 应用程序中的其他应用程序之一。在我的应用程序中,我需要包含一些代表此 Web 应用程序公共区域的 HTML 代码。它们将是应用程序的头部、页眉、菜单和页脚。我的应用程序将放置在剩余空间中。因此,我检索这些 HTML 代码,通过绕过清理将它们转换为SafeValue,并通过使用一些divs的 innerHTML 属性将它们包含在内。之后,我可以看到这些带有样式和所有内容的 HTML。

这就是上下文。问题是这些 HTML 中的脚本无法运行。即使它们没有被删除(您可以检查页面的 HTML 并查看那里的脚本),它们也不会运行。我需要它们运行,因为它们需要执行一些重要的任务,例如用链接填充菜单、动画菜单扩展以及天知道还有什么。

我已经尝试使用文档 DOM 对象将这些 HTML 包含在index.html中,以替换我放入index.html作为占位符的div,但我遇到了同样的问题:它呈现,但脚本不不要跑。有趣的是,如果我将未运行的脚本标记直接放在index.html中(硬编码,而不是动态),它就可以工作。

因此,脚本将具有以下形式:

只有一句话:我无法控制我收到的这些常见 HTML。我只是收到它们,并且为了 Web 应用程序的视觉识别而不得不使用它们。

抱歉,如果已经回答。几天来我一直在寻找答案,但仍然没有找到答案(尽管我确实找到了与 AngularJS 类似的东西),所以我发布了。

0 投票
1 回答
183 浏览

javascript - 通过影子根漏洞注入

我不是 JS 程序员。我没有足够的技能来自己测试它,所以寻求帮助。是否可以将脚本或 HTML 标签注入shadow_root元素以检查网络上的漏洞?

例如<script>alert("alert");</script>

也许其他的东西喜欢使用<content>

主要问题:有可能吗?

还有一个问题:如何?