javascript - 通过 iframe src 进行 xss 攻击

标签 javascript iframe xss

我允许用户通过只要求他们提交 src 来嵌入 youtube 或任何其他视频源。他们收到的嵌入代码。然后我将它保存到数据库中并通过 iframe 加载它。但是,如果有来源,例如 src="http://innocent.com/hackingContent.php" ,那么我的网站是否容易受到 xss 攻击?

我估计用户可能在那个 src 中有恶意脚本一旦 iframe 将源代码嵌入到我自己的 html 中,它将立即加载。

编辑 如果 src 包含 <script type="text/javascript" src="evilScript.js"></script> 怎么办? .虽然我正在使用preg_match只是为了确保它只是一个 url。

最佳答案

是的,你很脆弱。是什么阻止不良用户链接到色情内容?或者看起来合法并收集用户名和密码的网站。

你为什么不建立一个你将接受的视频源的白名单...验证提交的 url 在那些域上并验证 url 存在。

这样人们就无法将完全随机的 url 插入到您的内容中。

“白名单”是您将接受的值列表。例如,在您的服务器上,当用户提交一个 url 时,您将接受来自

http://www.youtube.com ....

对吧?因此,您列出了您将接受的所有网址,然后确保用户的输入与您列表中的项目相匹配。如果不是你拒绝它。 (我们所说的匹配是指“开始于”或类似的东西——显然不是完全匹配)

“黑名单”则相反。你会有一个列表,但它是一个你不允许的列表。

白名单 == 您允许的内容列表
黑名单 == 您不允许的事情列表

关于javascript - 通过 iframe src 进行 xss 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874862/

相关文章:

java - AntiSamy 是否允许通过编码的脚本警报?如何阻止?

java - java中如何过滤输入文本中的特殊字符以防止XSS攻击?

javascript - 如果没有其他用户看到它,则呈现未转义的用户输入是否安全?

javascript - 具有交互变量的随机数生成器

javascript - 在具有跨源的 iframe 中设置数据属性值

javascript - 如何从 javascript 中的嵌套异步函数传播返回值

Javascript - 从数组中选择随机页面但绝不显示页面两次

typescript - 去掉属性_target后,iframe下打开新的url

javascript - 为什么使用 jQuery 每次单击两次后添加 after() 文本?

javascript - 也许我已经失去了情节,但为什么这一小段 JavaScript 不起作用?