CSRFScanner――打造全自动检测CSRF漏洞利器脚本安全
“抗日大佐张艺兴”通过精心收集,向本站投稿了3篇CSRFScanner――打造全自动检测CSRF漏洞利器脚本安全,今天小编就给大家整理后的CSRFScanner――打造全自动检测CSRF漏洞利器脚本安全,希望对大家的工作和学习有所帮助,欢迎阅读!
篇1:CSRFScanner――打造全自动检测CSRF漏洞利器脚本安全
1.CSRF漏洞的介绍和危害性
图1-1 csrf漏洞的攻击过程
CSRF(Cross-site request forgery跨站请求伪造)通常缩写为CSRF或者XSRF,CSRF使 可以冒充合法用户的身份,使合法用户在不知情的情况下触发如金融支付,发表微博等危险操作,并可直接导致蠕虫,危害巨大,从至今,CSRF漏洞已连续几年位于OWASP统计的十大Web安全漏洞前列。具体利用过程如图1-1所示。
攻击通过在授权用户访问的页面中包含链接或者脚本的方式工作。举一个简单的例子,例如:用户A在自己的博客站点中写了一篇文章C,用户B在回复中贴了一张图,在贴图的URL中写入删除文章C的链接,当A看见这张图片的时候,文章C便被不知不觉间删除了。这就是CSRF攻击了。
2.业界现有CSRF检测技术
2.1业界现有的技术方案
目前对于csrf的检测,业界还没有成熟有效的工具,唯一的一款比较有名的检测工具是由开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)发布的Csrftester,该工具仅支持简单的对页面所提交的表单信息进行抓取,然后由用户人工地进行修改该数据来确定是否存在csrf漏洞,效率低下,无法适应互联网海量CGI漏洞检测的需求。
而其他的扫描器只能半自动发现,但误报极高,例如著名的awvs对csrf扫描的逻辑就比较简单,导致误报率很高。所以,业界一直缺少一个自动的和高准确率的csrf检测工具。
2.2业界现有技术的缺点
1)、不支持自动csrf漏洞检测;
2)、误报率很高。
3.创新的CSRF检测技术
针对近期外部报告的大量csrf漏洞,为快速地解决当前面临的问题,腾讯安全团队自研了一款全自动检测csrf漏洞的工具——CsrfScanner,主要检测基础数据库中的存在的漏洞。csrf产生危险的核心就是利用的他人的cookie来进行有敏感的操作,区别对待带cookie和不带cookie两种情况是扫描器的检测逻辑的关键点。CsrfScanner的检测步骤如下:
1)、不带cooie访问页面得到表单form1。
2)、带cookie访问页面得到表单form2。
3)、判断form1与form2是否为同一个表单,如果不是则转到步骤4。这是因为要取出能利用cookie的form。
4)、判断form2是否存在token、g_tk等字样,如果不存在,则转到步骤5;否则,则说明该指向的cgi有极大的可能做了csrf防御,为了降低误报率,应过滤掉,
5)、判断form2是否存在search、login等黑名单字样,如果不存在,则转到步骤6;否则,则说明该指向的cgi有极大的可能不存在敏感性,为了减低误报率,应过滤掉。
6)、判断form2是否存在保存、修改,提交等白名单字样,如果存在,则说明该form2所指向的cgi具有相当的敏感性,因此检测出该指向的cgi存在csrf漏洞。
CsrfScanner的主要是使用C++开发,使用qtwebkit库在返回的html内容中解析出尽可能多的form,即将js动态生成的form也能显示出来。
以下是CsrfScanner所检测出的漏洞及其利用截图,此为公司微博业务存在CSRF漏洞,可以导致 任意创建微活动并导致蠕虫:
A.用户原本是没有创建微活动的
B. CsrfScanner检测出微活动创建的cgi存在csrf漏洞
据此编写出poc,并挂在站点:hacker.com上
C. 向用户发送一个hacker.com的链接,用户在点击之后,便不知不觉间创建了名为hacker.com的微活动。
D.用户的好友看见此活动后,又去点击链接hacker.com,再度被欺骗性地发起同样的微活动,于是便导致微博蠕虫的泛滥,后果非常严重。
4.效果
csrf漏洞的自动检测一直是业界的技术难点,到目前也没有很好的解决方案,所以一直是我们的扫描器中未覆盖的漏洞类型。而csrf漏洞的数量在tsrc上一直占据前3位。图4-1为7月的tsrc上的漏洞情况,其中csrf有65个,占据了第一位。
自CsrfScanner在7月20日上线后,共发现数千个cgi、数百个域名存在漏洞,误报率低于20%。其中包括discuz, 微博,邮箱等多个重要业务,tsrc上每月仅有个位数的csrf漏洞,较7月的数十个外报有明显收敛。
5.后续
目前腾讯安全团队已经设计出新的csrf漏洞检测方案来进一步提升CsrfScanner的检测能力。简单的说,该方案通过使用webkit内核,hook住敏感的请求,在该请求中检测token是否存在来判断是否存在csrf漏洞,正在排期完成。该方案的增强点主要在
1)、覆盖form以外的csrf漏洞检测,提供更广的检测宽度
2)、更高精度的检测
3)、通过hook每一个敏感请求,能准确定位漏洞的原因
最后感谢各位业界安全大牛在TSRC上反馈的漏洞,每一个漏洞都鞭策着腾讯安全漏洞检测团队不断前进,让我们的漏洞检测系统走在业界的最前列。
篇2:说一说CSRF漏洞脚本安全
CSRF漏洞(Cross-Site Request Forgery),是Web应用中常见的一种攻击方法,存在被CSRF攻击可能的站点,就存在CSRF漏洞,
先举例说明
在一个论坛上,Alice发了一个帖子,Eve回复了她的帖子,以下面的方式上传了一张图片:
Eve: Hello Alice! Look here:
我们看链接的地址,是将1000000 USD从Alice的帐户转到Eve的帐户。
如果Alice点了上面图片的链接,那么链接的地址会被在浏览器中执行,如果浏览器中保存了用户登录的cookie且未过期,那么链接就会被执行成功,结果就是Alice的1000000 USD被转给Eve了。
当然,实际上银行的网站不会这么傻,这里只是一个例子,
从例子中我们可以看出CSRF攻击的主要特征:
网站提供了有“副作用”的URL,所谓的“副作用”,是指会对用户的利益,隐私造成影响的URL,比如例子中转帐的URL。
浏览器的cookie保存了用户登录鉴权信息。
所以,知道了CSRF的特征之后,我们也可以知道如何防御CSRF攻击了,主要有下面几个手段:
不提供有“副作用”的URL。
如果URL是通过表单(form)提交的,那么在服务器生成form时候,增加一个随即数作为隐藏属性,让form提交的时候,检查客户端发送的随机数与服务器的随机数是否一致,如果不一致,那么就拒绝请求。
检查HTTP请求中的referrer header属性,(referrer header是表示请求来源地址的,比如image请求的referrer header一般是HTML页面),通过白名单的方式,检查特定的referrer header地址才允许访问。但是referrer header属性涉及到用户隐私问题,一般浏览器都提供了禁用referrer header属性的功能。所以不推荐使用。
篇3:浅谈CSRF漏洞挖掘技巧脚本安全
CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,
例A:
针对某个人进行CSRF POST攻击,需要诱导用户点击所以称 one click attack
首先假定有2个用户,分别为 A用户 和 B用户
A用户申请的ID为1 ,B用户申请的ID为2
A用户修改个人资料的URL假设为:www.xxx.com/userinfo.php?id=1
POST参数为name
如果A用户知道B用户ID为2且A用户通过修改ID不能访问到B用户的时候,可以进行CSRF攻击
首先建个页面,页面代码如下:
别人只要点击链接,即可触发漏洞
接着讲CSRF GET 攻击
也用例子说明(该例子来自乌云YKS )
新浪SAE普通开发者认证CSRF
1.在邀请链接后面加上&makesure=1,然后到新浪开发者论坛回复插入下面的代码,别人在登陆了SAE的情况下打开有该代码的帖子会自动邀请指定用户,
只要查看该页面,即可自动邀请指定用户
是不是对于CSRF有了不同的认识了啊
【CSRFScanner――打造全自动检测CSRF漏洞利器脚本安全】相关文章:
4.安全检测报告






文档为doc格式