• 1
  • 1
分享
  • 【安全测试】csrf攻击的防范
  • lee 2022-07-18 13:37:05 字数 661 阅读 11716 收藏 1

之前做过一个项目,我们公司内部测试完功能之后,还会拿着项目去竞标,在这个过程中,举办方会拿我们的软件找一些专业的公司做检测,其中有一项就是安全漏洞扫描。其实扫描出来的漏洞,用户平时使用中基本很小的概率碰到,但是举办方会拿着这个说事,要求必须整改。这些安全漏洞中最常见的是csrf跨站攻击,修改起来其实也不是特别麻烦,那我们主要就看下平时测试的时候应该怎么注意才能避免这个问题。

【csrf攻击的原理】:

用户登录浏览器,打开网页A,输入登录信息并操作网站,在未退出登录的情况下,另外开启一个tabB,访问网站进行操作,由于A的登录信息(cookie)已经存储在浏览器中,此时网页B接收到用户请求后,如果是恶意网站,很可能会返回一些攻击性代码,并发出一个请求要求访问原网站A,此时就可能恶意篡改数据,恶意删除数据,恶意注入数据等。

【关于csrf攻击的测试方法】:

对于测试而言,其实测试方法很简单,第一种方法是打开浏览器登录,未退出的情况下再开启另一个tab,看下页面有没有跳转到登录页面,如果还是保留已登录状态,那么就是有问题的。另外一种方法是抓包,抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,并且返回200ok,那么可以大致确定系统存在安全漏洞。

【关于软件的修改方法】:

目前比较常用的方法是,在请求链接中加入加密的token并进行校验,每次打开网页登录后都是不一样的链接,同时服务器端加一个拦截器来校验这个token,如果不匹配的话就进行拒绝,这样就可以保证每次登录都是唯一的token了。

微信图片_20220718115058.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 环境准备1.开通腾讯文字识别服务按照官网步骤进行开通:https://cloud.tencent.com/product/generalocr/getting-started开通后可获得两个参数:SecretId、SecretKey腾讯提供的文字识别服务,支持多种图片识别,包括身份证、表格、或者其他通用文字识别等,本文主要使用表格识别服务。接口调用说明:1.打开表格识别V2接口说明文档:https://cloud.tencent.com/document/product/866/49525#1.-.E6.8E.A5.E5.8F.A3.E6.8F.8F.E8.BF.B02.进入接口调试页面&nb...
            0 0 8065
            分享
          • 前端交互测试前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。测试准备 在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分: 什么功能属于前端页面逻辑功能 什么功能又属于前端与后端交互功能 前端功能与后端是通过什么接口方式进行交互 前、后端,双方有什么样约束 在这里提到了约束这个概念,在实际项目研发过程中,功能测试阶段所产生 的 bug,有很大一方面是由于前、后端沟通不彻底,需求确认模糊导致。在进入研发前,双方将各自 后续由于 bug 导致的反工工作量。测试方法可以使用抓包工具...
            10 11 1574
            分享
          • 学习内容:数据库应用系统(DBAS)性能指标:数据操作响应时间(数据访问响应时间);系统吞吐量:指系统在单位时间内可以完成的数据库事务或查询的数量;允许并发访问的最大用户数;每TPS代价值。数据库管理系统(DBMS)系统需求分析的常用建模方法一、DFD(数据流图,Data Flow Diagram)DFD图采用自顶向下逐步细化的结构化分析方法四种基本元素:数据流、处理(对数据的加工)、数据存储、外部项数据流:指处理功能的输入输出,用→表示;数据存储:数据保存的地方,表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等;处理:对数据的逻辑处理,也就是数据变换,用来改变数据值;外部项(外...
            0 0 1594
            分享
          •   这是个很有意思的话题,我一开始画了这么一张图:  就我自身的工作而言,用着开发的技术,做着开发差不多的工作。归为开发一类并无不妥!  后来,我细细琢磨了一下,改为了下图。  其实答案也非常明显:不管是做自动化的测试,还是开发工具/平台的测试,又或者做着基层管理工作的测试,大家的身份认同应该首先还是“测试工程师”。  那么,这么明显的问题,为什么还会有人来讨论。  早期的测试职位定位非常清晰,至少在我2010年刚做测试的时候,每天关注的话题是测试方法、用例设计、测试计划、测试报告,如何使用bugfree、禅道、bugzilla、QC 这类工具,高级一些的话题是UI自动化、性能测试。大部分情况...
            0 0 142
            分享
          • 读者提问:『作为测试经理,需要做测试执行吗,如果需要的话,还有时间做管理相关的事务吗 ?』阿常回答:测试经理也是需要做测试执行的。因为对于软件测试管理者来说,管理不会是纯粹的管理。软件测试是一门需要不断实践和总结的学科,所以身为测试经理,也是会参与到实际的测试任务之中的。那如果既需要做事,又需要做管理,会不会因为陷入具体的测试任务之中,而没办法做好管理事务呢?作为测试管理者,不应该让自己投入到,非常复杂的需要投入大量时间的测试任务之中,如果是这样的话,肯定没有时间兼顾到管理事务。其他测试同学都投入到具体的测试任务之中,陷入到细节之中,测试管理者必须把控好全局,所以测试管理者可以选择一...
            0 0 502
            分享
      • 51testing软件测试圈微信