3

如果我的网站只允许用户查看他们自己提交的数据,而永远不会有其他用户提交的数据(即没有一般的“帖子”等)——那么我的网站实际上是否存在 XSS 风险?

我仍将致力于 XSS 解决方案(如 httmlspecialchars() 等) - 但我很好奇攻击者是否可以通过查看他们自己的 XSS 攻击来获得任何东西?

4

3 回答 3

6

攻击者无法通过对自己使用跨站点脚本技术获得任何收益。跨站点脚本的目的是以恶意方式操纵向用户显示的页面元素,无论是网络钓鱼还是读取 cookie。换句话说,攻击只能影响客户端实体。

但是,重要的是要记住“用户只查看自己的数据”的含义。

假设我有一个网站,用户可以在其中拥有私人资料,只有他们自己可以看到。页面上有一个文本输入元素,允许用户输入他们的网站 URL。现在假设更新用户配置文件的表单使用 GET。

页面更新提交可能如下所示:

http://www.example.com/privateprofile.pl?action=update&userwebpage=http://www.example.net

攻击者可能会通过欺骗用户加载 URL 来利用这一点:

http://www.example.com/privateprofile.pl?action=update&userwebpage= [malicious_js_code_here]

当然,这是一个相当微不足道的例子,但希望它展示了一般概念。令人担忧的是,他们可能会欺骗用户自己进入 XSS。当然,像这样的 XSS 攻击的可行性取决于您的具体实现。

于 2012-04-22T06:35:30.673 回答
1

不,如果他们的所有数据都是私下查看的,就不会有真正的风险。XSS 的全部意义在于劫持另一个用户浏览器中的会话或其他个人信息。如果没有这样的机会,那么就没有 XSS 这样的东西。

于 2012-04-22T06:07:15.137 回答
1

是的——这根本不能保护你。其实这是正常的情况。您必须考虑的是,如果黑客可以使用 URL 将 XSS 植入您的站点,然后说服其他人打开该 URL,那么您的用户数据(cookie、密码等)可能会被窃取。

于 2012-04-22T06:07:23.403 回答