分析叽歪的 CSRF 漏洞
作者:mingcheng 来源:gracecode.com 发布时间:2009-02-09 14:26:00
声明,此漏洞已提交叽歪官方处理(2009-02-05),本案例仅作技术研究。由此漏洞造成的所有后果,本人不承担任何责任。
参加集团“精武门”安全峰会时,80sec 团队对于饭否的 CSRF 蠕虫攻击案例还记忆犹新。抱着对比的心态,逐个检测国内各微博客类站点的安全性能,最终“很不幸”的锁定到了叽歪上。
分析叽歪页面发布信息页面的表单,结果发现全部都是交给 updateStatus 方法处理,如图
那么我们来看下 updateStatus 的脚本是怎么写的(通过这个脚本,也可大体的了解叽歪的 API):
发现 updateStatus 的脚本非常简单,就是检测下 textarea 的值是否为空(其实那样敲几个空格就可以绕过),然后就提交给服务器处理。而且逻辑上似乎有问题,返回的都是 false (或许是为了防止事件冒泡)。
既然 Javascript 方面没有增加额外的提交参数,这说明在 Javascript 禁用的情况下提交表单服务器那边也是能处理的。那么,根据叽歪发布页面的表单,尝试本地构建个同样的表单发送叽歪信息
<form action="http://jiwai.de/wo/status/update" method="post">
<textarea name="jw_status" ></textarea>
<input type="submit" />
</form>
结果成功了。这表明有存在 CSRF 的可能 -- 用户可以自行表单,发送信息给叽歪服务器处理,并且没有任何验证信息。
然后,非常“ * ”地将 POST 方式改成 GET 尝试,结果发现又成功了。看来叽歪的接口没有区分 POST 和 GET,那么这样攻击的危害更扩大了层。
根据这个漏洞,简单的写了个本地 Javascript 脚本,尝试每隔一秒发送叽歪信息
setInterval(function() {
var img = new Image();
var message = '明城很帅';
var api = 'http://jiwai.de/wo/status/update';
img.src = api + '?jw_status=' + message + '&t=' + new Date().getTime();
}, 1000);
剩下就是社会学的范畴了。想到 沉鱼 小姑娘是叽歪的重度用户,于是让她打开这个页面(这时候,相貌是多么的重要)。
结果自然是预期所想的,顺便发现叽歪也没有限制发送信息的频率。就这样打住,通过这个漏洞进行蠕虫等进一步攻击等已是唾手可得。
最后,啰嗦下防范 CSRF 攻击的“军规”:
在请求中使用 Security token
正确使用 GET、POST 和 Cookie
使用 Referer 判断请求来源
后记
截止发文时(2009-02-07),叽歪已经修复了该漏洞,增加了个 Security token :
<input type="hidden" value="..." name="crumb" />
猜你喜欢
- 症状在某台 centos7 主机上设置了某个 crontab 任务,但是到时间后运行 mail 后提示 No mail,即cron没有将任务
- 时下的互联网上网站多如牛毛,网站都在千方百计进行优化,进行推广。对于一个行业来说,行业类型的网站要达到门户级,就必须要在这个行业中有一定的影
- 1. 设定个容易记住的网址2. 在流量高的博客上留回应 - 只要你能够发表建设性及有见解的回应,相信其他读者也会希望来你的博客看看你有其他什
- 本来草根站长做个站不容易,奈何某些前辈不自重,还来难为咱们,为了他们的一己私欲,牺牲了我们的站点不说,关键是打击了咱们的建站激情,我就我所知
- 昨天,WebLeOn说“国内好的企业博客屈指可数”,的确。这让我觉得有必要把这个案例分享给大家,之前吕欣欣同学曾一度让我总结个案例给他,无奈
- 当前经济大环境下对中国经济的冲击有目共睹,依赖于海外市场的企业在这场危机首当其冲,特别是沿海一带出口型中小企业,出口受阻,很少有能逃脱出当前
- seo已经不是什么高深的学问了,做网站导流量很多人做的如火如荼,但是流量有了之后如何赚钱?有位站长描述每天不到500ip的网站月赚几万块,按
- 一、VMware vSphere简介VMware vSphere 是业界领先且最可靠的虚拟化平台。vSphere将应用程序和操作系统从底层硬
- Linux系统中的 find 命令在查找文件时非常有用而且方便。它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等
- 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务主要用三种方式进行这一操作:ln -s
- 如果一个网站的HTML代码很容易被人理解,那么他应该也很容易被搜索引擎理解吧,如果容易被搜索引擎理解,那搜索引擎肯定就喜欢这个网站了,所以会
- 从第一个商业浏览器 Netscape 算起,到2009年10月13日,浏览器已经度过了15年历史。我们在上一篇有关浏览器的历史的文章(浏览器
- Vmware12虚拟机及Oracle安装教程分享给大家,具体内容如下1、安装XP系统步骤一:步骤二: 内存分配大一些,运行会流畅一些(推荐使
- 本文分步说明如何在Windows Server 2003 产品中为域名系统 (DNS) 配置Internet 访问。DNS是Internet
- 阿里巴巴集团董事局主席马云在2007年“中国IT两会”之计算机世界互联网年会上首次公开谈论创办网上广告交易平台阿里妈妈的初衷,称是为感恩当年
- 随着国际互连网的发展,一些企业建立了自己的INTRANET,并通过专线与INTERNET连通。为了保证企业内部网的安全,防止非法入侵,需要使
- 一、centos linux下安装ffmpeg1、下载解压wget http://www.ffmpeg.org/releases/ffmpe
- 同一片蓝天下飘过同一朵云彩同样经历了的风雨同处在网络爆发时代,却有不同的人生有人说性格决定命运,也有人说不同的环境造就不同的人为什么自己还是
- 网上很多都是VMWare为Linux下设设置静态IP的方式,所以总结一下 VMWare虚拟机下为Windows Server 2008 R2
- 首先是管理方面的特点,主要有:是否图形方式配置、是否图形方式安装、有没有远程管理能力、可否利用简单网管协议配置和监视。第二是从扩展能力来说,