通过iframe src进行的xss攻击
我允许用户嵌入YouTube或任何其他视频源,只要求他们提交他们收到的嵌入代码的src
即可。然后我将它保存到数据库中并通过iframe加载它。但是,f有一个来源,例如,src="http://innocent.com/hackingContent.php"
,那么我的网站对xss攻击是否有帮助?通过iframe src进行的xss攻击
我估计用户可能有一个src
的恶意脚本,只要iframe将源代码嵌入到我自己的html中,它就会加载。
编辑如果src包含<script type="text/javascript" src="evilScript.js"></script>
怎么办?虽然我am使用preg_match
只是为了确保它只有一个url。
是的,你很脆弱。什么阻止了不良用户链接到色情片?或者是一个看起来合法并收获用户名和密码的网站。
为什么不建立一个你会接受的视频源白名单...验证提交的网址是在这些域上,并验证网址存在。
这样,人们无法将完全随机的网址插入到您的内容中。
“白名单”是您将接受的值列表。例如,您的服务器上,当用户提交一个网址,你会接受来自
正确的东西吗?因此,您可以列出您将接受的所有网址,然后确保用户的输入与列表中的某个项目匹配。如果它不拒绝它。 (根据我们的意思是'开始'或类似的意思 - 显然不完全匹配)
“黑名单”会相反。你会有一个列表,但它的列表将不允许。
白名单== 的事情,你让
黑名单== 的事情列表,你不允许
不,如果iframe src与调用所述iframe的域不同,您将受到XSS攻击保护。这是根据相同域起源策略。
的iframe'src'可以'JavaScript的名单:...'这将在包含窗口的上下文中运行。 – Esailija 2012-01-16 01:23:47
非常感谢大卫。所以你说如果我通过iframe加载'http:// innocent.com/hackingContent.php'到'example.com/goodContent.php'中,那么它不是一个问题吗? – jmishra 2012-01-16 01:23:54
如果他允许任何网址,有人仍然可以通过他的网站显示恶意内容...对不对? – hvgotcodes 2012-01-16 01:24:07
你的意思是使用'curl'库进行URL验证? – jmishra 2012-01-16 01:29:08
类似的东西。您也可以下载内容并在服务器上处理它,以确保它是合法的。 – hvgotcodes 2012-01-16 01:33:03
说起来,当你说'视频源的白名单'时,它与iframe不同。这是如何运作的?如果你能在你的答案中解释它,这将是有帮助的。 – jmishra 2012-01-16 01:52:02