通过iframe src进行xss攻击

时间:2012-01-16 01:16:42

标签: javascript iframe xss

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

我估计用户可能有src中的恶意脚本,只要iframe将源代码嵌入到我自己的html中,该恶意脚本就会加载。

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

2 个答案:

答案 0 :(得分:6)

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

为什么不建立一个您将接受的视频源白名单...验证提交的网址在这些域上并验证网址是否存在。

这样人们就无法在您的内容中插入完全随机的网址。

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

的任何内容

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

正确?因此,您列出了您将接受的所有网址,然后确保用户的输入与列表中的项目匹配。如果不是,你就拒绝它。 (通过匹配我们的意思是'开头'或类似的东西 - 显然不是完全匹配)

“黑名单”恰恰相反。你会有一个列表,但它列出了不允许的内容

白名单== 您允许的事项列表
黑名单== 您不允许的事项列表

答案 1 :(得分:1)

不,如果iframe src与调用iframe的域不同,则可以防止XSS攻击。这是根据同域原始政策