问题标签 [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 回答
87 浏览

php - 如何在保留相同键的同时复制数组?

行。我编写了一个简单的(ish)函数来获取一个参数并返回相同的参数,并将危险的 html 字符替换为它们的字符实体。

该函数可以将字符串、数组或 2D 数组作为参数 - 不支持 3d 数组或更多。

功能如下:

这个函数确实有效,但问题是我需要维护原始数组的数组键。

这个函数的目的是让我们可以从数据库查询中传递一个结果集,并用安全的 HTML 字符取回所有​​值。因此,显然,数组中的键将是数据库字段的名称,而我目前的功能是将它们替换为数值。

所以是的,我需要取回传递给函数的相同参数,数组键仍然完好无损(如果传递了一个数组)。

希望这是有道理的,建议表示赞赏。

0 投票
2 回答
1293 浏览

c++ - http代理javascript注入

我在 C++ 中有一个简单的代理源。我正在尝试修改它以将一些 html 内容注入特定页面。我设法让它工作,但每当我注入一些东西时,原始 html 的一部分就会被破坏。我知道这不是我的字符串处理函数,因为我让它在发送之前打印出结果,这很好。html 一次传输 1460 个字节,每个块的顶部有一个 3 个字符串,后跟换行符,最后有一个换行符和一个 0;

例子:

我一直在寻找并试图弄清楚这三个字符代表什么。剩余内容长度十六进制?也许某种哈希?但我什么也找不到。但我猜他们是问题的根源。任何帮助/见解表示赞赏。

0 投票
1 回答
989 浏览

ruby-on-rails - Rails 3 HTML 注入

目前正在关注http://www.buildingwebapps.com/learningrails上的 Learning Rails 截屏视频,进行任何必要的更改以在 Rails 3 中工作。但是,在第十集中,我在从数据库中渲染 html 代码时遇到了问题. 教程中的 Page 模型有一个 body 字段,其中放置了每个页面的 html。查看器控制器的“显示”方法从数据库中获取一个页面,并将@page.body 的内容生成到视图中。但是,当我在浏览器中查看 html 源代码时,我的标签没有正确呈现 h1 等标签,而是呈现为 <h1;@gt。有什么办法可以解决这个问题吗?

仅供参考,我的'show'视图如下:

0 投票
1 回答
166 浏览

sql - 我的网站中的 Javascript 注入

因为我不熟悉这个概念,称为 sql injections 和 javascript injections into the code。有些人继续在我的每个 php 页面中使用一段代码进行攻击。攻击者不断使用此代码进行攻击,并且该站点显示“检测到恶意软件”。注入的代码是这样的

任何人都可以指导攻击者如何不断地攻击每一页。我的是一个高流量的网站。任何建议都非常受欢迎。

问候,phphunger...

0 投票
3 回答
1293 浏览

javascript - 过滤掉 Javascript 注入

我有一个文本区域,我在其中放置了不允许<script>标记和 Javascript 标记的验证代码,但用户可以输入诸如<strong onmouseover=alert(2)>.

因此,当有人将鼠标悬停在此字符串标记上时,JS 警报框就会出现。

我怎样才能停止这种 javascript 注入?

0 投票
1 回答
166 浏览

asp.net - 如何防止代码注入 windows server 2008 R2 .aspx

我负责管理一个需要遵守 PCI 准则的站点。经过前一段时间的大量工作,它终于通过了PCI安全检查。最近它又开始失败了。我怀疑这是因为在安全检查中添加了新测试。

检查现在抱怨的是代码注入网站的可能性。这是其中一件事的一个例子:

如果您使用 Firebug 查看源代码,您会看到它是对我的代码执行此操作的:

行。本身无害,但我可以看到他们在做什么。

他们还提供了其他非常相似的示例,但它们都是同一行。

你怎么能真正防止这种事情呢?而且,有害吗?

提前致谢。

0 投票
1 回答
1052 浏览

php - Protecting against html injection

So I know that you can do $words = htmlspecialchars($_POST['name']); in php to escape the special characters and prevent some html injection.

But I'm having trouble actually implementing it into my php code. I was reading that you have to use it before you display whatever it is you're displaying to the viewer of the site but I'm lost as to how to do this. I am a bit of a beginner with php.

So i was able to do the sql injection part but here's the part of the code where I am stuck at, as I described above.

I am trying to prevent html injection for title blog and tag

If you need sample code from my other stuff let me know. To me this seem like this was enough.

0 投票
2 回答
2477 浏览

c# - 在开始的 BODY 标记之后插入 HTML 代码

有没有人在 ASP.Net 网络表单页面中打开 BODY 标记之后注入 HTML 片段的示例?这段代码的定位非常具体。

开始的 HTML 可能如下所示:

生成的 HTML 应如下所示:

这是一种无法直接操作 HTML 的场景,而 javascript 这样做太晚了,以至于附加的 HTML 无法发挥作用。它必须使用服务器端代码完成,并且在 HTML 进入 Web 浏览器之前就位。

0 投票
0 回答
262 浏览

javascript - 注入 html 后,缓存的 jQuery 选择器给出与非缓存选择器不同的结果

找到了解决方案!不要费心创建答案

结果我注入了 html 两次——一次是在创建选择器之前,然后,由于一些未完成的重构,第二次;从而覆盖 DOM 的相关部分。不过,缓存的选择器仍然引用旧的 DOM 部分,因此不会被垃圾收集。当然,更改旧部分对新部分没有影响,让 jQuery 重新进行选择清楚地表明了这一点。

问题

我正在尝试创建一个小部件。运行它的脚本后,小部件找到一个带有特定代码标签(在下面引用为 $rootElem),下载一段 html 代码并将其注入到这个 div 中。完成此操作后,它开始将事件附加到输入元素,构建 ui 元素,如滑块等。

AFAIK,在将 html 注入 DOM 之后,生成的 DOM 应该等同于从那里开始 html。原来 jQuery 不这么认为。具体来说,我首先注入 html,然后开始查找和缓存选择器结果。

以下代码块应该是等效的(做同样的事情);将一段 html 更改<span>awaiting calculation ...</span><span>1234</span>. 而且,你瞧,如果我把所有的 html 放到同一个文档中(而不是注入它),他们实际上在做同样的事情。

缓存选择器结果以供以后检索

每次都做选择

但是,如果我将小部件的 html 代码移出主文档,并在处理它之前将其注入,则只有非缓存(后者)版本有效。实际上第一个似乎也有效。如果我在匿名函数中设置断点,我会看到发生了一件奇怪的事情:

似乎缓存的 jQuery 选择器指向另一个 DOM 元素(未显示其更改),而不是我搜索相同的元素。这只发生在注入 html 时,而不是当小部件的 html 被复制粘贴到页面中时。有人愿意解释发生了什么吗?

这发生在 Chrome 和 Firefox 中。

主页上的 html 位如下所示:

小部件的 html

注入html的代码

0 投票
1 回答
844 浏览

javascript - 注入的 HTML 访问 Chrome API 和全局变量

我正在开发一个 Chrome 扩展程序,而且我是这个过程的新手。我正在开发的扩展将 HTML 侧边栏注入页面,将 java-script 函数注入标题,然后让用户按下侧边栏上的按钮来创建/保存我的扩展数据。

但是,当我想保存信息时,我使用 localStorage,但是,localStorage 总是相对于当前网站保存。我如何使用 localStorage 来保存我们的扩展程序?

此外,我想在 chrome 扩展中使用一些全局 javascript 变量。这些属于哪里?我知道我目前无法从注入的 Javascript 访问它们。

我研究了消息传递,但遇到了一些麻烦。我不确定它在将 javascript 注入页面标题的范围内是如何工作的。我试过使用这个例子,但我的扩展似乎没有捕捉到这个消息。