浅谈csrf漏洞的测试方法

发表于:2011-5-20 14:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:shourong    来源:TaoBao QA Team

  Csrf漏洞主要出现在http cookie被用于传送会话令牌的地方。一旦应用程序已经在用户的浏览器中设定一个cookie,他们的浏览器会自动在随后的每个请求中将这个cookie返回给应用程序。无论请求是源自应用程序提供的一个链接、从其他地方受到的一个url或者其他来源,他都会这样做。如果应用程序并未采取防范措施,防止令牌滥用,那么程序就易于受到csrf攻击。

  对于csrf的测试方法。首先,我们可以尝试查找出程序中的增删改功能的操作,可用于代表不知情的用户执行某种敏感操作,找到一项应用程序功能后,使用攻击者能够提前决定的请求参数,也就是说,其中并不包含任何会话令牌或者其他无法预测的数据。然后创建一个html页面,他不需要进行任何用户交互即可提出想要的请求。对于get请求,可以使用一个<img>标签,并通过src参数设置易受攻击的url;对于post请求,可以建立一个表单,其中包含实施攻击所需要的全部相关参数的隐藏字段,并将其目标设为易受攻击的url。可以使用javascript在页面加载时自动提交该表单(document.formname.submit())。

  登录应用程序后,使用相同的浏览器加载专门设计的html页面,确认应用程序是否执行想要的操作。

  对于csrf的防范,目前有几种方法,比如验证码,密码,token验证等方法都是用的比较广泛的,有时候虽然应用程序中有使用token,但是token却没有生效,我们可以使用httpfox进行拦截,将token修改后,继续提交,看操作是否可以继续正常进行,如果可以,说明token只是表面的假象,并没有生效。此时应用程序就是存在csrf漏洞的。

  当然,对于搜索、查询操作,或者不涉及数据库增删改的操作,可以暂时不用担心csrf漏洞。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • andyfly_001
    2011-5-22 00:26:18

    理论写的不错,我之前也是觉得理论是理解的第一步,后面我自己实践的时候,才知道,技术学习的时候能自己操作实现一把,比单纯的理论更深入理解。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号