V2EX的个人设置中的自定义CSS功能存在安全漏洞

2012-06-08 16:09:25 +08:00
 qichunren
输入其中的内容如下,你们懂的。

</style>
<script>
alert("xss");
</script>
<style>
#Top {
background: #BDBDBD;
}
4827 次点击
所在节点    V2EX
31 条回复
disinfeqt
2012-06-08 16:10:31 +08:00
XSS 也就黑你自己而已……
loading
2012-06-08 16:13:31 +08:00
当v2ex数据库能被插这些代码的时候,哪里还安全。

这个权当是自定JS功能的"预留接口"
bhuztez
2012-06-08 16:15:32 +08:00
@disinfeqt CSRF ...
qichunren
2012-06-08 16:15:54 +08:00
@disinfeqt 我当然知道这个自定义的CCS,是对当前登录用户,起作用的。但这的确是一个漏洞,虽然我还没有想到怎么样可以有效地利用。
1212e
2012-06-08 16:16:29 +08:00
Livid
2012-06-08 16:24:00 +08:00
你可以对自己的帐号做任何事情啊,就像你永远都可以在浏览器地址栏用 javascript: 来做任何事情,但是这个不是安全漏洞。除非你能够将这些代码显示在别人的浏览器里。
eric_zyh
2012-06-08 16:28:54 +08:00
可以用ajax给服务器post数据不?
jackmasa
2012-06-08 16:28:56 +08:00
只要用户访问另一个网页,
然后那个页面中通过CSRF登录带有xss的v2ex账户,
这样就可以控制v2ex的页面了,
然后控制的页面伪装成登录界面,
让用户重新登录,
这样就完成了劫持.
@Livid
Livid
2012-06-08 16:30:21 +08:00
@jackmasa 这是 phishing,但是 V2EX 不是银行 :P
t3st
2012-06-08 16:36:09 +08:00
@jackmasa 这样就不是v2ex站点的问题了吧,网络钓鱼而已。你完全可以写个新页面,伪装成登录页面,记录账号密码然后重定向到v2ex站点。
bhuztez
2012-06-08 16:48:54 +08:00
jackmasa
2012-06-08 16:54:24 +08:00
Livid
2012-06-08 17:09:23 +08:00
@jackmasa 你似乎改了一下代码,最初的能显示 hello 的代码是?
Livid
2012-06-08 17:11:32 +08:00
@jackmasa Oh 我明白了,那个新帐号的自定义 CSS。

谢谢。
Livid
2012-06-08 17:11:53 +08:00
@jackmasa Fixed.
gDD
2012-06-08 17:12:43 +08:00
@Livid 自定义CSS我觉得没问题,“>”在CSS里是有用的,没必要转义一下。

@jackmasa http://jsbin.com/uzefum/5/edit ,实在没看明白,难道是V2EX的/signin支持跨域POST?
jackmasa
2012-06-08 17:17:07 +08:00
@Livid (゜ー゜) ,刚看了下资料设置页好像没有加csrf token,应该可以用刚刚那种方式直接修改当前用户的css,然后xss之
Livid
2012-06-08 17:17:54 +08:00
@jackmasa 谢谢提醒。

马上解决。
Livid
2012-06-08 17:20:00 +08:00
@jackmasa 现在再试试?
gDD
2012-06-08 17:33:22 +08:00
@gDD #16

终于知道了,原来form提交是可以跨域的。

http://stackoverflow.com/a/1324858/753533

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/38797

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX