如果用户只查看自己的数据 - 是否存在XSS风险?

时间:2012-04-22 06:03:16

标签: php security xss

如果我的网站只允许用户查看他们自己提交的数据,而且从未提交过其他用户提交的数据(即没有一般的“帖子”等) - 那么我的网站上是否存在XSS风险?

我仍然会努力使用XSS解决方案(例如httmlspecialchars()等) - 但我很好奇攻击者是否可以通过查看自己的XSS攻击获得任何收益?

3 个答案:

答案 0 :(得分: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攻击的可行性取决于您的具体实现。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

是的 - 这根本不能保护你。事实上,这是正常的情况。您需要考虑的是,如果黑客可以使用URL将XSS植入您的网站,然后说服其他人打开该网址,那么您的用户数据(Cookie,密码等)就会被盗。